1

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

我找到了令人惊叹的 svgo 库,并想用它来生成一组自定义的扑克牌。这个想法是将卡片的文本和布局存储在文本文件中,然后使用 go 读取和处理它。这将是对我当前使用 gimp 编辑每张卡片的工作流程的巨大改进。问题是我需要一张卡片的图像才能打印。最好是 png,因为到目前为止打印脚本只适用于该格式。但我也可以轻松地将其调整为接受 jpeg。

不幸的是 svgo 似乎不提供导出功能。您能推荐一个将 svg 转换为 png 的 go 库吗?

4

2 回答 2

4

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

GraphicsMagick绑定了 CGo以及其他可以直接从 Go 脚本中使用的语言,尽管我自己没有尝试过。

于 2013-06-15T08:00:03.953 回答
0

我找不到本地 Go 库来执行此操作,但似乎有一种方法可以canvas非常简单地在 Javascript 中将 HTML 元素转换为 PNG。

因此,您可以将 SVG 输出为 HTMLcanvas元素,然后使用 JS 导出为 SVG。

有关详细信息,请参阅此答案

于 2013-06-15T08:29:27.260 回答