将 SVG 转换为 png 或其他格式?

Convert SVG to png or other?

由于在 iPython 笔记本中显示 SVG 文件的内容非常容易,是否还有一种方法(也很简单)来获取我们在 png 文件或其他文件中看到的内容?

from IPython.display import SVG
SVG(filename='../images/python_logo.svg')

如果我这样做 svg = SVG(filename='../images/python_logo.svg')

如何将其保存为 png 文件?

SVG 是矢量图像(图形保存为绘制直线、圆等的命令)。 PNG 是位图。所以要将 SVG 转换为 PNG,您需要一个渲染器。

最明显的解决方案是 ImageMagick,这是一个您已经安装的库,因为它在多个程序中使用。一种不太明显的方法是使用 Inkscape。使用命令行选项,可以将 Inkscape 用作转换程序。由于 Inkscape 是面向矢量的,我怀疑质量会比 ImageMagick(更注重位图)更好。

由于矢量图 (SVG) 是包含绘图说明的文本文件,因此更易于理解。 PNG 仅包含像素信息,更糟糕的是,它们使用相当复杂的算法进行压缩。理解它们并不那么容易。

看看Inkscape man page, it's fairly obvious how to use it. This is the IMagick convert help