4
我正嘗試在從SVG到PNG的Rails應用中進行圖像轉換。由於Heroku目前無法升級即時通訊,因此ImageMagick對我而言並沒有解決問題。我正在測試一些在dev中使用RSVG2/Cairo的想法,但遇到了障礙。紅寶石,RSVG和PNG流
我可以很容易地轉換和保存SVG至PNG這樣的:
#svg_test.rb
require 'debugger'
require 'rubygems'
require 'rsvg2'
SRC = 'test.svg'
DST = 'test.png'
svg = RSVG::Handle.new_from_file(SRC)
surface = Cairo::ImageSurface.new(Cairo::FORMAT_ARGB32, 800, 800)
context = Cairo::Context.new(surface)
context.render_rsvg_handle(svg)
surface.write_to_png(DST)
但這只是讓我寫PNG文件出來。在應用程序中,我需要能夠隨時生成這些內容,然後將它們作爲數據發送到客戶端瀏覽器。而我無法弄清楚如何做到這一點,或者即使它得到支持。我知道我可以至少調用surface.data獲取原始數據,但我對圖像格式瞭解不足,無法知道如何將其作爲PNG獲取。
謝謝
我很好奇,如果這個摸索出適合你。我有類似的需求,並遇到與Heroku和ImageMagick困難。 – gerwitz 2015-11-22 11:16:06