PHP等比例压缩图片的实例代码
发布:smiling 来源: PHP粉丝网 添加日期:2021-10-20 12:01:47 浏览: 评论:0
本文通过一段简单的代码给大家介绍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;
- }
- }
Tags: PHP等比例压缩图片
- 上一篇:PHP多个图片压缩成ZIP的方法
- 下一篇:PHP按一定比例压缩图片的方法
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)