我正在尝试使用rmagick和rest-client将水印图像发布到网址.当我生成合成图像时,我保存它(.write),用File.new读回来,然后发布该File对象.理想情况下,我想绕过写操作,因为我再也不需要这张照片了.有没有办法将Magick :: Image对象转换为File对象,以便我可以用rest-client发布它?
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)
Run Code Online (Sandbox Code Playgroud)