【问题标题】:Alternative way to resize images with imagemagick and preserve quality使用 imagemagick 调整图像大小并保持质量的替代方法
【发布时间】:2012-12-03 13:14:40
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: php imagemagick image-manipulation


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      Thumbnail 与 resize 相同,只是它会去除所有 EXIF 数据,使文件更小。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-27
        • 1970-01-01
        • 1970-01-01
        • 2014-02-17
        • 2021-02-15
        相关资源
        最近更新 更多