如何将 PNG 转换为 SVG?

如何将 PNG 转换为 SVG?

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

答案1

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

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

检查他们的描摹教程了解更多信息。

熟悉跟踪选项后,您可以使用以下方法实现自动化Inkscape 的 CLI

答案2

所以你正在寻找栅格向量图形转换器/示踪剂.potrace两者autotrace都在 Ubuntu 存储库中。我自己potrace之前尝试过,使用默认选项效果很好。我记得,这两个工具都不支持压缩格式作为输入,仅位图图像

Potrace 示例

波特雷斯:将位图转换为矢量图形的实用程序

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

命令:

potrace -s inputfile

自动追踪:位图到矢量图形转换器

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

命令:

autotrace -output-format svg inputfile

参考:

  • man potrace
  • man autotrace

更新

答案3

使用convert终端中的命令:

例如:

convert EXAMPLE.png EXAMPLE.svg

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

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

答案4

我刚刚使用了 gimp,效果非常好。我首先使用了 potrace,但我得到的只是一张全黑且失真严重的图像。也许我使用不当,但当我尝试使用 gimp 导出为“eps”(file_name.eps)时,一切都完成了。我所要做的就是将分辨率设置为 300 来查看它。就是这样。

相关内容