php教程

超轻量级php框架startmvc

PHP等比例压缩图片的实例代码

更新时间:2020-03-29 02:07:21 作者:startmvc
具体代码如下所示:/***desription压缩图片*@paramsting$imgsrc图片路径*@paramstring$imgdst压缩后保存

具体代码如下所示:


/**
 * desription 压缩图片
 * @param sting $imgsrc 图片路径
 * @param string $imgdst 压缩后保存路径
 */
 public function compressedImage($imgsrc, $imgdst) {
 list($width, $height, $type) = getimagesize($imgsrc);
 $new_width = $width;//压缩后的图片宽
 $new_height = $height;//压缩后的图片高
 if($width >= 600){
 $per = 600 / $width;//计算比例
 $new_width = $width * $per;
 $new_height = $height * $per;
 }
 switch ($type) {
 case 1:
 $giftype = check_gifcartoon($imgsrc);
 if ($giftype) {
 header('Content-Type:image/gif');
 $image_wp = imagecreatetruecolor($new_width, $new_height);
 $image = imagecreatefromgif($imgsrc);
 imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
 //90代表的是质量、压缩图片容量大小
 imagejpeg($image_wp, $imgdst, 90);
 imagedestroy($image_wp);
 imagedestroy($image);
 }
 break;
 case 2:
 header('Content-Type:image/jpeg');
 $image_wp = imagecreatetruecolor($new_width, $new_height);
 $image = imagecreatefromjpeg($imgsrc);
 imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
 //90代表的是质量、压缩图片容量大小
 imagejpeg($image_wp, $imgdst, 90);
 imagedestroy($image_wp);
 imagedestroy($image);
 break;
 case 3:
 header('Content-Type:image/png');
 $image_wp = imagecreatetruecolor($new_width, $new_height);
 $image = imagecreatefrompng($imgsrc);
 imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
 //90代表的是质量、压缩图片容量大小
 imagejpeg($image_wp, $imgdst, 90);
 imagedestroy($image_wp);
 imagedestroy($image);
 break;
 }
 }

总结

以上所述是小编给大家介绍的PHP等比例压缩图片的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

php等比例压缩图片 php 压缩图片