下面的代码使用Imagemagick来调整PNG图像的大小。
$im = new imagick("$file");
$im->thumbnailImage($newwidth, $newheight);
$im->writeImage($output);
然而,这会产生图像,据我所知,在使用thumbnailimage()
方法时,Imagemagick会制作出尽可能小的图像。
理想情况下,我希望调整图像大小并保持输出图像的质量尽可能高,在这种情况下,文件大小对我来说并不是问题。有没有其他方法可以让我调整PNG的大小,并保持尽可能高的质量?
发布于 2012-12-15 23:49:12
可以肯定的是,缩小图像会降低其质量。但是,您可以使用插值来模拟该质量。
PHP的GD扩展确实附带了一个imagecopyresampled
函数,但这并不是最好的质量。然而,在评论中,我确实发现了一个有用的imagecopyresampledbicubic
函数,它的质量应该比本机函数好得多。看起来确实值得一试。
发布于 2012-12-16 11:08:55
缩略图与调整大小相同,只是它会剥离所有EXIF数据,使文件变小。
你可以添加$im->setCompressionQuality( 100 );你可以尝试使用不同的滤镜来调整大小,但这只在一些图像上效果更好添加一些锐化$im->unsharpMaskImage(0,0.5,1,0.05);
https://stackoverflow.com/questions/13897269
复制相似问题