我实现了一个代码,使用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);
}
答案 0 :(得分:0)
您无法获得与原版相似的尺寸。
请在此处查看手册:http://php.net/manual/en/imagick.constants.php
请记住,PNG是一种无损图像,与JPG不同,它不会影响实际图像质量。
可以使用Imagick转换图像,但如果要压缩PNG文件,请不要依赖于Imagick而是使用PngCrush。
或者您可以使用此来源 http://optipng.sourceforge.net/pngtech/optipng.html