Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将SVG转换为png或其他格式?_Python_Svg_Png_Ipython Notebook - Fatal编程技术网

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

Python 将SVG转换为png或其他格式?,python,svg,png,ipython-notebook,Python,Svg,Png,Ipython Notebook,由于在iPython笔记本中显示SVG文件的内容非常容易,是否也有一种方法(也很容易)可以获得我们在png文件或其他文件中看到的内容 from IPython.display import SVG SVG(filename='../images/python_logo.svg') 如果我做了svg=svg(filename='../images/python\u logo.svg') 如何将其保存到png文件?SVG是矢量图像(图形保存为用于绘制直线、圆等的命令)。PNG是位图。因此,要将SV

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

from IPython.display import SVG
SVG(filename='../images/python_logo.svg')
如果我做了
svg=svg(filename='../images/python\u logo.svg')

如何将其保存到png文件?

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

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

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


看一看,很明显如何使用它

OP有一种“容易”和“困难”的奇怪感觉。位图只是位图,而SVG存在各种可能的问题:颜色解释、线宽、缩放和转换、抗锯齿、本地或嵌入式字体。。。如果“使用一个库!”是SVG的“简单”答案,那么PNG也是如此。可能是两倍。@Jongware是的,但这些东西大部分不在SVG中,而是在屏幕上SVG图像的显示中。SVG本身并没有那么复杂-至少它是一个较小的w3c标准:-)从来不知道SVG是作为指令保存的(知道它们是矢量格式,但没有深入思考)+1给我知识:D