【问题标题】:Convert PNG to SVG using python使用python将PNG转换为SVG
【发布时间】:2015-10-04 08:18:33
【问题描述】:

有没有办法仅使用纯 python 或 wand 等 python 模块将 png 文件转换为 SVG 文件?

更准确地说,我想将png转换为真正的矢量图形,我不想在svg中嵌入位图,我想转换成图形代码。

我知道 Illustrator 或 Inkscape 可以做到这一点,但我需要一个自动化流程。

谢谢!

【问题讨论】:

标签: svg png converter wand


【解决方案1】:

您需要运行一个外部程序来进行图像跟踪。一个流行的程序是potrace。这是 Inkscape 用来执行任务的。

它有一些python绑定:

https://pypi.python.org/pypi/pypotrace

【讨论】:

    【解决方案2】:

    我建议对 python 使用 potrace。
    使用此链接:https://pypi.org/project/pypotrace/
    这是文档:https://pythonhosted.org/pypotrace/ref.html#

    像这样:

    from potrace import Bitmap
    
    # Initialize data, for example convert a PIL image to a numpy array
    # [...]
    
    bitmap = Bitmap(data)
    path = bitmap.trace()
    

    【讨论】:

      【解决方案3】:

      我正在使用 https://github.com/ianmackinnon/png2svg 将低分辨率 QR 码转换为 SVG,以便以任意尺寸打印它们。 它工作得很好,代码看起来像预期的那样,并且可以扩展到任意大小。

      但是,有 2 个小(但可以忽略不计,至少对我而言)警告:
      - 在我的机器上转换低分辨率图像 (400x400) 大约需要一分钟左右
      - 与优化的 SVG 相比,文件大小超出了应有的大小

      【讨论】:

      • 这个答案引用了一个不再存在的仓库
      • 不,它没有。该链接工作正常(无论如何对我来说)。
      【解决方案4】:

      由于potrace 模块在 Windows 上的 anaconda 上不(很容易)可用,我寻找了一个替代方案。 PngToSvg 在 Windows 10 Pro N 上的 Anaconda 4.8.3 中的 python 3.6 环境中完美运行。

      您可以克隆/下载存储库并运行python init.py,这会将/examples/ 中的example.png 转换为example.svg 文件。

      积分归存储库的作者所有。

      【讨论】:

        猜你喜欢
        • 2021-04-21
        • 1970-01-01
        • 2015-04-06
        • 1970-01-01
        • 2019-10-17
        • 2018-09-07
        • 1970-01-01
        • 1970-01-01
        • 2012-04-08
        相关资源
        最近更新 更多