龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 最小失真率压缩JPG图片

时间:2014-07-15 15:07来源:网络整理 作者:网络 点击:
分享到:
最小失真率压缩JPG图片 本代码出自本人自已写的类中,如有雷同纯属巧合。本人常用于压缩jpg图片,也可以将其它格式转为jpg格式。[代码片段(30行)]

本代码出自本人自已写的类中,如有雷同纯属巧合。

本人常用于压缩jpg图片,也可以将其它格式转为jpg格式。

/**
 * 将图片以自定义品质,另存为JPG格式,将会删除源图片
 *
 * @param string $filename 图片名称,包含路径
 * @param int    $quality  图片品质,0到100,默认90,100为最高品质
 */
public function resaveToJpeg($filename, $quality = 90) {
    $path       = dirname($filename);
    $path       = rtrim($path, '/').'/';
    $basename   = pathinfo($filename, PATHINFO_FILENAME);
    $extName    = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
    switch($extName) {
        case 'jpg':
            $im = imagecreatefromjpeg($filename);
            break;
        case 'png':
            $im = imagecreatefrompng($filename);
            break;
        case 'gif':
            $im = imagecreatefromgif($filename);
            break;
    }
    imagejpeg($im, $path.$basename.'.jpg', $quality);

    if(in_array($extName, array('png','gif'))) {
        @unlink($filename);
    }
    imagedestroy($im);
}
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接