2012-05-21 83 views
4

不同下面是我测试的链接:http://pestnow.herokuapp.com/tester/svg左边的图像是SVG,右边一个是PNG转换。下面是转换非常简单的代码:Rmagick SVG转换比ImageMagick的

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做正确的转换做。而且它,从一个简单的“转换test.svg test.png”

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

此外,我希望它的东西,我需要在我的代码来完成,而不是在服务器上所需的一些功能,因为这个应用程序托管在Heroku和我有过他们如何安装IM无法控制。

+2

我得出这样的Heroku没有在他们的ImageMagick的副本RSVG支持的结论,并已与他们联系,看看他们是否可以启用它。我会用我的支持票的结论报告。 –

+0

是的,heroku已经安装了ImageMagick,但是从我读过的内容来看,您无法真正自定义您的设置。你可以尝试一个不同的主机,让你安装的东西... – AJcodez

+1

链接已经死http://pestnow.herokuapp.com/tester/svg 404 – Besi

回答

0

我应该报告回来。

是的,Heroku有IM,但他们不支持它。它只是作为他们使用的Ubuntu(我相信)的长期支持版本的一部分。我们反复讨论了几次,他们说他们可能会在未来升级它,以及其他的linux lib/utils,但是没有确定的时间表。我的猜测是,也许在下一个堆栈。

在此之前,我已经在我的SVG使用符号停止,不得不做变换顺序一些技巧,但在大多数情况下我有事情工作。另一条建议是确保您使用的是Heroku在Dev框中使用的即时消息的精确版本。节省很多心痛。

+0

它已经有一段时间了。我可以问一下你在Heroku上运行哪个IM版本?我遇到与SVG支持相同的问题。 – Nobita

+0

以下是Heroku在该服务器上所说的内容 - 自从我第一次发布该内容后,我不知道它是否发生了变化。 版本:ImageMagick 6.5.7-8 2012-08-17 Q16 http://www.imagemagick.org 版权:Copyright(C)1999-2009 ImageMagick Studio LLC 特性:OpenMP –