如何优化PHP Imagick JPG到PNG的转换

时间:2017-12-14 11:18:17

标签: php optimization png jpeg imagick

我实现了一个代码,使用PHP中的imagick将JPEG转换为PNG格式。

问题在于转换产生的PNG图像比JPEG中的原始大<四倍>。

如何对其进行优化以获得与原始尺寸相似的尺寸?

转换代码:

private function JPG2PNG($path, $newPath) {        
    $image = new Imagick();
    $image->getCompressionQuality();
    $image->readimage($path);
    $image->setImageFormat("png32");
    $image->setImageCompressionQuality(0);
    $image->writeImage($newPath);
    unlink($path);
}

1 个答案:

答案 0 :(得分:0)

您无法获得与原版相似的尺寸。

请在此处查看手册:http://php.net/manual/en/imagick.constants.php

请记住,PNG是一种无损图像,与JPG不同,它不会影响实际图像质量。

可以使用Imagick转换图像,但如果要压缩PNG文件,请不要依赖于Imagick而是使用PngCrush。

或者您可以使用此来源 http://optipng.sourceforge.net/pngtech/optipng.html