在iPython笔记本中显示SVG文件的内容非常容易,那么有没有一种(同样简单的)方法可以获取我们在png文件或其他文件中看到的内容呢?
from IPython.display import SVG
SVG(filename='../images/python_logo.svg')
如果我执行svg = SVG(filename='../images/python_logo.svg')
我该如何将它保存为png文件?
在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手册页面,很容易理解如何使用它。这是IMagick转换帮助。