php实现等比例压缩图片
本文实例为大家分享了php实现等比例压缩图片的具体代码,供大家参考,具体内容如下
/**
*desription压缩图片
*@paramsting$imgsrc图片路径
*@paramstring$imgdst压缩后保存路径
*/
publicfunctioncompressedImage($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){
case1:
$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;
case2:
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;
case3:
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;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。