【问题标题】:Convert SVG to png or other?将SVG转换为png或其他?
【发布时间】:2015-07-29 21:44:56
【问题描述】:

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

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

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

如何将其保存为 png 文件?

【问题讨论】:

    标签: python svg png ipython-notebook


    【解决方案1】:

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

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

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

    看看Inkscape man page,如何使用它是相当明显的。 This is the IMagick convert help.

    【讨论】:

    • OP 有一种奇怪的“容易”和“困难”的感觉。位图只是位图,而 SVG 可能会出现各种问题:颜色解释、线宽、缩放和转换、抗锯齿、本地或嵌入字体……如果“只使用库!”是 SVG 的“简单”答案,PNG 也是如此。可能会翻倍。
    • @Jongware 是的,但这些东西大多不在 SVG 中,而是在屏幕上显示 SVG 图像。 SVG 本身并不复杂 - 至少它是较小的 w3c 标准之一:-)
    • 从来不知道 SVG 被保存为指令(知道它们是矢量格式但没有深入思考)+1 让我知道:D
    猜你喜欢
    • 2011-09-09
    • 2012-04-09
    • 2015-01-31
    • 2011-09-11
    • 2018-09-07
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 2017-09-26
    相关资源
    最近更新 更多