5

我正在尝试将文件转换为特定格式,以便可以对其进行 to_blob。我知道保存到磁盘并指定扩展名以将其转换为另一种格式的技术,如下所示:

img.write("another_filename.jpg")

我希望在转换过程中不必触摸磁盘。

还有其他方法吗?

4

1 回答 1

7

调用时可以指定格式to_blob。来自精美手册

to_blob img.to_blob [ { 可选参数 } ]-> 字符串

[...]
不需要参数,但是您可以通过Image::Info在与方法。

所以你可以这样说:

png_bytes = img.to_blob { |attrs| attrs.format = 'PNG' }

是的,界面to_blob有点奇怪,但奇怪的界面只是使用 ImageMagick 乐趣的一部分。

您也可以在调用之前使用该format=方法to_blob

img.format = 'PNG'
png_bytes  = img.to_blob
于 2013-05-29T20:33:00.073 回答