1

我有以下代码,它使用 Imagemagick 来调整 PNG 图像的大小。

$im = new imagick("$file");
$im->thumbnailImage($newwidth, $newheight);
$im->writeImage($output);

thumbnailimage()然而,据我所知,这会产生图像,这些图像的大小与 Imagemagick 在使用该方法时可以制作的一样小。

理想情况下,我想调整图像大小并保持输出图像的质量尽可能高,在这种情况下,文件大小对我来说并不是真正的问题。是否有其他方法可以让我调整 PNG 的大小并保持尽可能高的质量?

4

2 回答 2

0

缩小图像会降低其质量是理所当然的。但是,您可以使用插值模拟该质量。

PHP 的 GD 扩展确实带有一个imagecopyresampled功能,但它不是最好的质量。但是,在 [评论] 中,我确实找到了一个有用的imagecopyresampledbicubic功能,它的质量应该比原生功能好得多。当然似乎值得一试。

于 2012-12-15T23:49:11.713 回答
0

缩略图与调整大小相同,只是它会去除所有 EXIF 数据,使文件大小更小。

您可以添加 $im->setCompressionQuality( 100 ); 您可以尝试在调整大小时使用不同的滤镜,但这仅在某些图像上效果更好添加一些锐化 $im->unsharpMaskImage(0 , 0.5 , 1 , 0.05);

于 2012-12-16T11:08:55.060 回答