如何使用php等比例缩放图片

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

本文介绍了PHP实现图片压缩方法,读者可以根据具体应用参考或加以改进,直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放要求的宽度、缩放的长度。


    <?php 
    //压缩图片 缩略图
    $src= "xiezheng.jpg";
    $newwid=640;
    $newhei= 480;
    function imgzip($src,$newwid,$newhei){
     $imgInfo = getimagesize($src);

     $imgType = image_type_to_extension($imgInfo[2], false);

     $fun = "imagecreatefrom{$imgType}";
    //声明图片 打开图片 在内存中
     $image = $fun($src);
    //方便配置长度宽度、高度,设置框为变量wid,高度为hei
     $wid=$imgInfo[0];
     $hei=$imgInfo[1];
    //判断长度和宽度,以方便等比缩放,规格按照500, 320
     if($wid>$hei){
     $wid=$newwid;
     $hei=$newwid/($wid/$hei);
     }else {
     $wid = $newhei * ($wid / $hei);
     $hei = $newhei;
     }
    //在内存中建立一张图片
     $images2 = imagecreatetruecolor($newwid, $newhei); //建立一个500*320的图片

    //将原图复制到新建图片中
    //imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)

     imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[1]);
    //销毁原始图片
     imagedestroy($image);
    //直接输出图片文件

     header("Content-type: ".$imgInfo['mime']);
     imagejpeg($images2);
    //保存图片 到新文件
     imagejpeg($images2, 'new.jpg', 100); //10代码输出图片的质量 0-100 100质量最高
    //销毁
     imagedestroy($images2);
    }
    imgzip($src,$newwid,$newhei);
    ?>

希望本文所述对大家对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分页类完整实例