1

我正在使用 Imagick 压缩图像(主要是 JPEG),但结果非常随机。例如,查看这些结果(近似数字和所有 JPEG):

1600kb -> 600kb(节省 1000kb)
1000kb -> 1200kb(浪费 200kb)
400kb -> 500kb(浪费 100kb)

这是我使用的代码:

$image = new Imagick($path);
$image->stripImage(); // remove metadata, though Imagick adds its own, not sure why
$image->setImageCompressionQuality(0); // lossless compression
$image->writeImages($path, true); // writeImages instead of writeImage, in case it's a GIF
4

1 回答 1

4

图像重新压缩会因源图像文件而异。如果原始图像是用好的软件精心制作的,ImageMagick 可能无法匹配它。简单的解决方案:比较原始版本和新版本的文件大小,保留较小的。

另外,请注意,压缩质量数字的含义取决于图像的文件类型。特别是,0 表示 JPEG 的“最差质量、最小尺寸”,但表示 PNG 的“快速压缩,不一定很小”。见http://www.imagemagick.org/script/command-line-options.php#quality

于 2013-01-20T12:39:06.693 回答