使用imagemagick调整图像大小的另一种方法,并保持质量

时间:2012-12-15 23:43:36

标签: php imagemagick image-manipulation

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

缩略图与调整大小相同,只是它删除了所有文件大小的EXIF数据。

您可以添加$ im-> setCompressionQuality(100); 您可以尝试在调整大小时使用不同的过滤器,但这只适用于某些图像 添加一些锐化$ im-> unsharpMaskImage(0,0.5,1,0.05);