如何使用软件将 PNG 转换为 SVG?

Jos*_*nto 48 conversion svg software-recommendation png image-processing

我希望能够完全裁剪使用MarvinSketch创建的SVG 化学结构(请参阅此问题),我想我可能已经想到了解决方案;我使用 MarvinSketch 创建一个大的 PNG 文件,然后使用GIMP裁剪它,然后将PNG转换为 SVG。因此,我想知道是否有人知道我可以在 Ubuntu 上安装免费软件(我不喜欢使用在线转换器,因为我总是怀疑恶意软件)以进行高质量的 PNG->SVG 转换。

小智 33

Inkscape 有一个很棒的自动跟踪工具。

  1. 安装 Inkscape 使用 sudo apt-get install inkscape
  2. 导入您的图像
  3. 选择您的图片
  4. 从菜单栏中,选择路径 > 跟踪位图项目
  5. 根据需要调整跟踪参数

查看他们的跟踪教程以获取更多信息。

一旦您对跟踪选项感到满意。您可以使用Inkscape 的 CLI自动化它。

  • +1,谢谢。很高兴听到 Inkscape 在 GUI 中集成了“potrace”功能,如您提到的参考资料中所述。 (6认同)
  • 这是正确的答案,因为 potrace 不支持 .png 导入,并且很容易在转换中遇到透明度等问题。 (5认同)

use*_*.dz 32

所以你正在寻找raster to Vector graphics converter/tracerpotrace&autotrace两者都在 Ubuntu 存储库中。我自己potrace之前尝试过,使用默认选项给出了很好的结果。我记得,这两个工具都不支持压缩格式作为输入,只支持位图图像

查看Potrace 示例

Potrace:将位图转换为矢量图形的实用程序

potrace 是一种用于跟踪位图的实用程序,这意味着将位图转换为平滑、可缩放的图像。输入是位图(PBM、PGM、PPM 或 BMP 格式),默认输出是封装的 PostScript 文件 (EPS)。典型用途是从扫描数据创建 EPS 文件,例如公司或大学徽标、手写笔记等。生成的图像不像位图那样“锯齿状”,而是平滑的。然后它可以以任何分辨率呈现。

命令:

potrace -s inputfile
Run Code Online (Sandbox Code Playgroud)

AutoTrace:位图到矢量图形转换器

AutoTrace 是一个将位图转换为矢量图形的程序。AutoTrace 项目的目标是开发类似于 CorelTrace 或 Adob​​e Streamline 的免费应用程序。在某些方面它已经更好了。AutoTrace 最初是作为 GIMP 的插件创建的,现在是一个独立的程序。

命令:

autotrace -output-format svg inputfile
Run Code Online (Sandbox Code Playgroud)

参考:

  • man potrace
  • man autotrace

更新

  • 啊哈,它确实奏效了。谢谢。我认为由于 BMP 不透明,任何结果都不会太透明。 (3认同)

小智 9

convert在终端中使用命令:

例如:

convert EXAMPLE.png EXAMPLE.svg
Run Code Online (Sandbox Code Playgroud)

以下是手册页中的一些信息:

convert(1) - Linux man page

Name

convert - convert between image formats as well as resize an image, blur, 
          crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

Synopsis

convert [input-options] input-file [output-options] output-file
Run Code Online (Sandbox Code Playgroud)

  • 这会将光栅图像嵌入到 SVG 中,而不是转换为矢量图像。 (16认同)
  • “convert”不会将光栅图像更改为矢量,它只是将其嵌入。所以也许不是一个好的选择 (4认同)