基于PHP实现等比压缩图片大小

5年以前  |  阅读数:472 次  |  编程语言:PHP 

废话不多说了,直接给大家贴php等比压缩图片大小的相关代码了,具体代码如下所示:


    <?php
    $im = imagecreatefromjpeg('D:\phpplace\.jpeg');
    resizeImage($im,,,'xinde','.jpg');
    function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
    {
    $pic_width = imagesx($im);
    $pic_height = imagesy($im);
    echo "start-----------------" ;
    if(($maxwidth && $pic_width > $maxwidth) && ($maxheight && $pic_height > $maxheight))
    {
    if($maxwidth && $pic_width>$maxwidth)
    {
    $widthratio = $maxwidth/$pic_width;
    $resizewidth_tag = true;
    }
    if($maxheight && $pic_height>$maxheight)
    {
    $heightratio = $maxheight/$pic_height;
    $resizeheight_tag = true;
    }
    if($resizewidth_tag && $resizeheight_tag)
    {
    if($widthratio<$heightratio)
    $ratio = $widthratio;
    else
    $ratio = $heightratio;
    }
    if($resizewidth_tag && !$resizeheight_tag)
    $ratio = $widthratio;
    if($resizeheight_tag && !$resizewidth_tag)
    $ratio = $heightratio;
    $newwidth = $pic_width * $ratio;
    $newheight = $pic_height * $ratio;
    if(function_exists("imagecopyresampled"))
    {
    $newim = imagecreatetruecolor($newwidth,$newheight);
    imagecopyresampled($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
    }
    else
    {
    $newim = imagecreate($newwidth,$newheight);
    imagecopyresized($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
    }
    $name = $name.$filetype;
    imagejpeg($newim,$name);
    imagedestroy($newim);
    }
    else
    {
    $name = $name.$filetype;
    imagejpeg($im,$name);
    } 
    } 

以上代码内容是小编给大家介绍的基于PHP实现等比压缩图片大小的相关内容,代码简单易懂,哪里写的不好,欢迎各位大侠多多提出宝贵意见,小编非常乐意。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例