我想用rmagick和其他客戶端發佈帶水印的圖像到一個URL。當我生成複合圖像時,我將其保存(.write),用File.new重新讀入,然後發佈該File對象。理想情況下,我想繞過寫操作,因爲我再也不需要這張照片了。有沒有辦法將Magick :: Image對象轉換爲File對象,以便我可以將其與rest-client一起發佈?從Magick創建一個紅寶石文件對象:: Image
require 'rmagick'
require 'rest-client'
photo = Magick::Image.read('myphoto.jpg').first
water_mark = Magick::Image.read('watermark.png').first
result = photo.composite(water_mark, 0, 0, Magick::OverCompositeOp)
result.write('result.jpg')
file = File.new('result.jpg', 'rb')
RestClient.post("http://example.com", :source => file)
你看着StringIO的? – coreyward 2011-06-14 05:43:22