10

我正在使用CarrierWave::RMagick为 Rails 应用程序创建图像的缩略图版本,并且我注意到图像缩小时质量下降。这在一定程度上是可以理解的,因为我们在缩小的图像中像素较少,因此质量较低,但我希望质量更好。我给你看一个例子:

原来的 Photoshop(双三次) RMagick

从左到右,第一个是原始的(100x105),第二个是Photoshop的Bicubic resize(95x100),第三个是RMagick的resize_to_fit(95x100)的结果。

对于此示例,原始图像仅比我想要的缩略图稍大,但我基本上强制每个缩略图最大为 100x100。我希望你能看到缩小图像之间的区别。将 Photoshop 的质量与 RMagick 的质量进行比较可能很愚蠢,但即使在 Chrome 中缩小以使图像更小也会产生更好质量的图像。

我基本上在 CarrierWave 上传器类中使用它:

  version :thumb do
    process :resize_to_fit => [100, 100]
  end

关于如何提高图像质量的任何想法?或者是否有任何 RMagick 的替代品可以做得更好?

编辑:我试过这个,虽然没有任何区别。无论如何,我认为那是针对JPEG图像的。

4

1 回答 1

0

该问题似乎在 imagemagick 库中,而不是特定于carrierwave 或 rmagick。

您可以在命令行中对此进行测试。这两个命令都使用 imagemagick 自己的命令产生与 rmagick 相同的模糊输出mogrify

mogrify -resize 100x100 original.png
mogrify -resize 100x100 -quality 100 original.png

imagemagick 文档建议该命令-resize(carrierwave 通过 rmagick 或 minimagick 使用)会为像我们在此处测试的那样的小更改创建模糊的结果,并且您最好使用该-adaptive-resize命令,但在我的快速测试中我不是能够产生更好的结果。

其他人使用 graphicsmagick 而不是 imagemagick报告了更好的结果(这可能还需要从 rmagick 切换到 minimagick),但我没有对此进行测试。

于 2013-08-28T14:10:55.100 回答