PHP图片压缩代码

Posted zctir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP图片压缩代码相关的知识,希望对你有一定的参考价值。

/**
 * desription 压缩图片
 * @param string $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;
        }

        $quality = 40;
        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, $quality);
                    imagedestroy($image_wp);
                    imagedestroy($image);
                }
                break;
            case 2:
                $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, $quality);
                imagedestroy($image_wp);
                imagedestroy($image);
                break;
            case 3:
                $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, $quality);
                imagedestroy($image_wp);
                imagedestroy($image);
                break;
        }
    }

以上是关于PHP图片压缩代码的主要内容,如果未能解决你的问题,请参考以下文章

PHP图片压缩

PHP实现图片压缩同时保持清晰度

PHP实现压缩文件夹内所有图片的分辨率

php图片压缩-高清晰度

asp微信jssdk上传图片,asp上传自动压缩图片,是通过微信上传的

超级有用的9个PHP代码片段