5
我試圖將文件轉換爲特定格式,以便我可以對其進行轉換。我知道保存到磁盤,並指定擴展其轉換爲另一種格式,像這樣的技術:RMagick - 將文件轉換爲其他格式而不保存到磁盤
img.write("another_filename.jpg")
我想不用在轉換過程中接觸到磁盤。
還有別的辦法嗎?
我試圖將文件轉換爲特定格式,以便我可以對其進行轉換。我知道保存到磁盤,並指定擴展其轉換爲另一種格式,像這樣的技術:RMagick - 將文件轉換爲其他格式而不保存到磁盤
img.write("another_filename.jpg")
我想不用在轉換過程中接觸到磁盤。
還有別的辦法嗎?
您可以在撥打to_blob
時指定格式。從fine manual:
to_blob
img.to_blob
[{可選參數}] - >字符串[...]
不需要參數,但是你可以指定圖像格式(如JPEG,PNG等)和深度,方法是在與該方法關聯的塊中調用格式和深度屬性,以及其他適當的屬性。
所以你能說這樣的事情:
png_bytes = img.to_blob { |attrs| attrs.format = 'PNG' }
是的,接口to_blob
是有點怪,但奇怪的接口只是用ImageMagick的工作樂趣的一部分。
您還可以使用format=
method調用to_blob
前:
img.format = 'PNG'
png_bytes = img.to_blob
作品像... magick。 *陰影*謝謝! –