RMagick质量对to_blob不起作用

时间:2012-10-19 15:26:02

标签: resize imagemagick blob rmagick

我正在尝试调整图像大小并降低从数据库中提取的图像的质量,并能够以缩小的尺寸将其保存回数据库。

到目前为止,我正在尝试以下RMagick方法:

image = Image.from_blob(origImage.data).first do
        self.format = "png"
      end
      image.resize_to_fit!(width)
      image.quality = 60
      newImage = image.to_blob

image.quality 的值对 to_blob 的数据大小没有任何影响。

我这样做是否正确?

1 个答案:

答案 0 :(得分:1)

尝试将质量参数放在to_blob方法上。

# image.quality = 60 # ignore this
newImage = image.to_blob { self.quality = 60 }

您可能在那里输出与origImage相同的格式 - format似乎无效from_blob。我必须在from_blob行之后专门调用它来设置PNG格式。

image = Magick::Image.from_blob(origImage.data).first do
#    self.format = 'PNG'
end
image.format = 'PNG'