PHP 等比例缩放图片详解及实例代码

5年以前  |  阅读数:1093 次  |  编程语言: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[0]);

    //销毁原始图片
     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分页类完整实例