Rmagick SVG转换与ImageMagick不同

时间:2012-05-21 16:01:03

标签: ruby-on-rails heroku svg imagemagick rmagick

以下是我测试的链接:http://pestnow.herokuapp.com/tester/svg左边的图像是SVG,右边的图像是PNG转换。这是转换的极其简单的代码:

def self.svg_to_png(svg)
  img = Magick::Image::from_blob(svg)
  return img[0].to_blob {self.format = 'PNG'}
end

我一直在努力解决这个问题,并在此处回答了这个问题:SVG to PNG Conversion with ImageMagick doesn't handle defs?这个问题与让IM正确进行转换有关。从命令行开始,只需一个简单的“convert test.svg test.png”

但RMagick转换不起作用。在我的本地开发盒上,我确实使用RVG支持编译了ImageMagick,并修复了命令行。但我不知道如何让RMagick以同样的方式使用它。

此外,我希望我的代码中需要做的事情,而不是服务器上需要的功能,因为这个应用程序托管在heroku上,我无法控制他们如何安装IM。

1 个答案:

答案 0 :(得分:0)

我应该报告回来。

是的,Heroku有IM,但他们不支持它。它只是作为他们使用的(我相信)Ubuntu的长期支持版本的一部分。我们来回聊过几次,他们说他们可能会在未来和其他linux libs / utils一起升级它,但是没有明确的时间表。我的猜测是,可能在下一个堆栈。

在那之前,我已经停止在我的SVG中使用符号并且必须在变换顺序上做一些技巧,但是在大多数情况下我都有工作。另一条建议是确保您使用Heroku在您的开发盒上使用的完整版IM。节省了很多心痛。