如何使用Go?将svg文件转换为图像?
我找到了令人惊叹的svgo库,并希望用它来生成一组自定义的扑克牌。我们的想法是将卡片的文本和布局存储在文本文件中,然后使用go进行读取和处理。这将是我目前工作流程的一个巨大改进,我使用gimp编辑每张卡片。问题是我需要有一张卡片用于打印。优选地,因为打印脚本到目前为止只能使用该格式。但我也很容易让它适应接受jpeg。
不幸的是,svgo似乎没有提供导出功能。你能推荐一个go库来将svg转换成png吗?
答案 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。