我有以下代码使用Imagemagick来调整PNG图像的大小。
$im = new imagick("$file");
$im->thumbnailImage($newwidth, $newheight);
$im->writeImage($output);
然而,据我所知,这会产生的图像与Imagemagick在使用thumbnailimage()
方法时可以制作的图像一样小。
理想情况下,我想调整图像大小并保持输出图像的质量尽可能高,在这种情况下,文件大小对我来说并不是一个问题。是否有另一种方法可以让我调整PNG的大小并保持尽可能高的质量?
答案 0 :(得分:0)
缩小图像会降低其质量。但是,您可以使用插值来模拟该质量。
PHP的GD扩展确实带有imagecopyresampled
功能,但它不是最好的质量。但是,在[评论]中,我确实找到了一个有用的imagecopyresampledbicubic
函数,它的质量应该比原生函数好得多。当然值得一试。
答案 1 :(得分:0)
缩略图与调整大小相同,只是它删除了所有文件大小的EXIF数据。
您可以添加$ im-> setCompressionQuality(100); 您可以尝试在调整大小时使用不同的过滤器,但这只适用于某些图像 添加一些锐化$ im-> unsharpMaskImage(0,0.5,1,0.05);