如何使用 Go 将 svg 文件转换为图像?
我找到了令人惊叹的 svgo 库,并想用它来生成一组自定义的扑克牌。这个想法是将卡片的文本和布局存储在文本文件中,然后使用 go 读取和处理它。这将是对我当前使用 gimp 编辑每张卡片的工作流程的巨大改进。问题是我需要一张卡片的图像才能打印。最好是 png,因为到目前为止打印脚本只适用于该格式。但我也可以轻松地将其调整为接受 jpeg。
不幸的是 svgo 似乎不提供导出功能。您能推荐一个将 svg 转换为 png 的 go 库吗?
一种可能的策略是将 SVG 写入文件并调用外部工具来转换它们。例如,ImageMagick及其相关的GraphicsMagick都将通过命令行选项将 SVG 转换为 PNG。convert
如果您一次转换大量图像,您可能需要使用动词,可能在他们的批处理支持范围内。
我找不到本地 Go 库来执行此操作,但似乎有一种方法可以canvas
非常简单地在 Javascript 中将 HTML 元素转换为 PNG。
因此,您可以将 SVG 输出为 HTMLcanvas
元素,然后使用 JS 导出为 SVG。
有关详细信息,请参阅此答案。