2012-11-23 170 views
0

我试图转换SVG至PNG具有flowroot元素在里面flowroots转换。 Inkscape做得很好,当我使用Cairo或imagemagick进行转换时,流根元素显示为不透明的框,而不是将文本呈现在其中。SVG与红宝石

我想这是因为flowroots是SVG 1.2的一部分。有谁知道任何其他宝石/图书馆可能有帮助?

回答

2

为什么不直接从Inkscape中导出为PNG呢?

你会发现flowRoot不只是Inkscape中的任何地方支持。它在SVG 1.2完整的旧工作草案中定义的,如果你看一下上次公布SVG 1.2 Full working draft,你会发现这一点:

的功能显着的变化设置,读者可以预期 接下来的草案看包括:

  • 用SVG 1.2超文本区域功能替换以前流动的文本提议。

这就是说,SVG工作组正在SVG2代替,所以如果你想知道事情是领导你应该在那里寻找。

+0

谢谢Erik,是的,我们最终使用了inkscape系统调用来导出PNG。开罗和ImageMagick等支持的流水线还有其他解决方法吗?基本上我们需要一个块内的文本。 – Mehdi

+0

而不是flowRoot使用'text'和'tspan'元素,这将是最兼容的。你也可以使用'textPath'来使文本沿着一些预定义的行进行,但我不确定ImageMagick支持多少'textPath'。 –

+0

我认为我们能够使用文本锚来使其工作,基本上我们希望文本对齐,并且我们也可能以某种方式解决剪辑问题。 – Mehdi

0

你有没有尝试安装的librsvg?

post说:

textPath没有在IM的内置SVG转换器来实现。但是,如果可用,IM将使用libRSVG库进行SVG转换,而这确实是正确的。

+0

不幸的librsvg显然是潜在的问题在这里。它不能正确渲染流水线。这个讨论是关于文本路径的。 – Mehdi