本文实例为大家分享了php实现等比例压缩图片的具体代码,供大家参考,具体内容如下
/** * 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高清晰度无损图片压缩功能的实现代码
- Android小知识之图片的3种压缩方式小结
- 移动端图片上传旋转、压缩问题的方法
- 微信小程序中上传图片并进行压缩的实现代码
- Java实现的上传并压缩图片功能【可等比例压缩或原尺寸压缩】
- 微信小程序之批量上传并压缩图片的实例代码
- java多线程实现下载图片并压缩
- PHP实现压缩图片尺寸并转为jpg格式的方法示例
- Android LuBan与Compressor图片压缩方式
- 安卓图片反复压缩后为什么普遍会变绿而不是其它颜色?
本文由 华域联盟 原创撰写:华域联盟 » php实现等比例压缩图片
转载请保留出处和原文链接:https://www.cnhackhy.com/48783.htm