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