【发布时间】:2012-03-23 09:48:09
【问题描述】:
我正在使用 ImageMagick 将 SVG 转换为 PNG,在我尝试使用 @font-face 然后在 SVG 文件中添加自定义字体之前,一切都像一个魅力。在 Batik 中这工作得很好,但现在在 ImageMagick 中我无法让它工作。
我可以将字体更改为“convert -list font”中列出的字体,但我可能不得不经常更改字体,所以我想以某种方式指向转换时的字体文件,而不是使用 font-face 或其他解决方案事情。
SVG 文件还可以包含多个字体系列,并且我的 ImageMagick 安装包括 rsvg 委托。
有什么想法吗?谢谢!
【问题讨论】:
-
如果您无法让 ImageMagick 正常工作,请考虑使用
inkscape进行转换,也可以在命令行中调用。我不知道它对@font-face 的支持是什么样的,但如果你研究一下,我应该有兴趣知道。 -
我所有的 SVG -> PNG 都是使用 ImageMagick 做的,除了字体之外一切都很好。我将尝试使用 type.xml 安装它们,但我不希望这样做..
-
尽管如此,一个工作的 Inkscape 比一个部分工作的 ImageMagick 更好。考虑到在 CLI 上启动转换是多么容易,难道不值得一试吗?
-
是的,但我在使用 Batik 之前就可以使用它,但是由于我是从 PHP 运行它,所以我更喜欢可以从 PHP 使用的解决方案。 Batik 使用 system() 完成了这项工作,但速度很慢。稍后我会试一试 Inkscape,看看效果如何,到目前为止,ImageMagick 的速度给我留下了深刻的印象。
-
对于相当复杂的文档,我在开发笔记本电脑上的转换时间约为 0.7 秒 - 当然,与往常一样,这是“一段字符串有多长”并且高度依赖服务器的情况。但是再加上一个队列系统(在我的例子中是 Gearman),我认为这将是一个非常有效的解决方案。
标签: svg imagemagick