PHP 实现等比压缩图片尺寸和大小实例代码

5年以前  |  阅读数:473 次  |  编程语言: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分页显示制作详细讲解
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分页类完整实例