将SVG转换为图像

时间:2013-06-14 09:22:33

标签: image svg go

如何使用Go?将svg文件转换为图像?

我找到了令人惊叹的svgo库,并希望用它来生成一组自定义的扑克牌。我们的想法是将卡片的文本和布局存储在文本文件中,然后使用go进行读取和处理。这将是我目前工作流程的一个巨大改进,我使用gimp编辑每张卡片。问题是我需要有一张卡片用于打印。优选地,因为打印脚本到目前为止只能使用该格式。但我也很容易让它适应接受jpeg。

不幸的是,svgo似乎没有提供导出功能。你能推荐一个go库来将svg转换成png吗?

2 个答案:

答案 0 :(得分:3)

一种可能的策略是将SVG写入文件并调用外部工具进行转换。例如, ImageMagick 及其相关的 GraphicsMagick 将通过命令行选项将SVG转换为PNG。如果您要一次转换大量图像,则需要使用convert动词,可能在其批量支持中。

GraphicsMagick有bindings用于C和其他语言,你可以直接在你的Go脚本中使用,虽然我自己没有尝试过。

答案 1 :(得分:0)

我找不到本地Go库来做这件事,但似乎有一种方法可以在Javascript中简单地将HTML canvas元素转换为PNG。

因此,您可以将SVG输出到HTML canvas元素,然后使用JS导出到SVG。

有关详细信息,请参阅this answer