【问题标题】:Rmagick SVG conversion different than ImageMagickRmagick SVG 转换不同于 ImageMagick
【发布时间】:2012-05-28 03:37:22
【问题描述】:

这是我测试的链接: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。

【问题讨论】:

  • 我得出的结论是 Heroku 在他们的 ImageMagick 副本中没有 RSVG 支持,并且已经联系他们看他们是否可以启用它。我会报告我的支持票的结论。
  • 是的,heroku 已经安装了 ImageMagick,但是从我读到的内容来看,您无法真正自定义那里的设置。您可以尝试使用其他主机来安装东西...

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


【解决方案1】:

我应该回来报告的。

是的,Heroku 有 IM,但他们不支持它。它只是他们使用的(我相信)Ubuntu 的长期支持版本的一部分。我们来回讨论了几次,他们说他们将来可能会升级它,以及其他 linux 库/实用程序,但没有明确的时间表。我的猜测是,可能在下一个堆栈上。

在那之前,我已经停止在我的 SVG 中使用符号,并且不得不在转换顺序上做一些技巧,但在大多数情况下,我的工作正常。另一条建议是确保您使用的是 Heroku 在您的 Dev box 上使用的 IM 的 EXACT 版本。省了很多心痛。

【讨论】:

  • 已经有一段时间了。请问您在 Heroku 上运行的是哪个 IM 版本?我在 SVG 支持方面遇到了同样的问题。
  • 这是 Heroku 现在在该服务器上所说的内容 - 我不知道自从我第一次发布此内容以来它是否发生了变化。版本:ImageMagick 6.5.7-8 2012-08-17 Q16 imagemagick.org 版权所有:版权所有 (C) 1999-2009 ImageMagick Studio LLC 功能:OpenMP
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-05
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多