在GIMP中将图像导出为SVG


85

我在GIMP中有一个正在研究的项目(图像),我想将其导出为SVG。这可能吗,还是我必须坚持导出多种尺寸的图像?

我知道GIMP可以读取SVG,但是可以导出它们吗?

Answers:


106

GIMP v2.8本身不会将位图导出到SVG文件。曾经有一个插件可以这样做,但是这个项目显然已经终止了。我们可以将图像作为位图对象导入Inkscape 安装inkscape并将其另存为SVG文件。然后,图像将保留为位图文件,即在缩放时将获得锯齿失真(请参见下文)。

但是Inkscape可以做得更多。我们可以将已经进行了大量工作的位图导入Inkscape,然后单击几次鼠标即可将其转换为漂亮的矢量图形。

这样做的方法如下:

  1. 打开Inkscape。
  2. 选择“文件-导入”以导入位图文件。
  3. 选择“嵌入”图像。
  4. 用选择工具()选择图像。
  5. 选择“ 路径-跟踪位图...”进行设置(以下显示2种颜色= “ Scans”):

    在此处输入图片说明

  6. 选择“更新”进行预览,直到设置正确为止。

  7. 单击“确定”开始跟踪。

现在,原始位图的矢量化图像将显示在位图的顶部。如果需要调整所创建子对象的形状或颜色,我们可以调整或移动此新创建的对象的大小,删除原始图像,或选择“对象-取消组合”

  1. 如有必要,请减小矢量化图像的尺寸(按住CTRL键以保持锁定比例),使其适合页面。否则,查看时它可能会显示为“裁剪”。
  2. 使用“文件-另存为”以SVG格式保存文件。

矢量图形的优势可以在我们增加其尺寸时最迅速地看到。下方显示为2500%。顶部是原始位图,底部是矢量化对象:

在此处输入图片说明
此图像和对象是从您的原始聊天创建的


1
感谢您的出色概述。您可以通过回答原始问题来改善答案。据称Photoshop CC可以导出SVG图像,那么Gimp可以做到吗?
丹尼尔斯,2015年

1
@daniels:可以使Gimp导出带有插件的SVG中嵌入的位图,但这(如PS btw)不会将位图跟踪到矢量。为此,您需要Inkscape或其他跟踪器,例如自动跟踪。对于后者,有一个我尚未测试的Trace gimp插件。
塔卡特2015年

@ Takkat,gimpToSVG扩展名不再存在
kokbira

@Takkat,在哪里?在github.com/jabiertxof/gimpToSVG上,您只能看到“已移至GitLab”的信息。在给定的GitLab链接gitlab.com/jabiertxof/gimpToSVG上,您无法下载,并看到代码“您需要权限。要查看数据?请向管理员请求访问权限。”,但是在哪里?
kokbira

@Takkat,尝试git.exe pull -v --progress "https://gitlab.com/jabiertxof/gimpToSVG/"返回“远程:不允许您从该项目下载代码。/致命:无法访问' gitlab.com/jabiertxof/gimpToSVG.git ':请求的URL返回错误:403 / git没有干净退出(退出代码1)(21075毫秒,@ 13/06/2017 08:29:28)”
kokbira


12

GIMP是栅格图形编辑器应用程序。SVG是矢量图形的一种形式。如果要编辑SVG文件,则应安装该inkscape软件包并改用Inkscape。另外,请注意,SVG并非完全“可缩放”,因为在缩放后的每个尺寸上您都将获得良好的图像,因此,根据使用它创建的图像,您可能需要绘制不同尺寸的图像,不同数量的细节,使图像在这些尺寸下看起来都不错。例如,应用程序的图标确实需要以多种尺寸绘制,无论它们是以光栅图像还是矢量图像形式绘制。


7

如果您需要将光栅图像转换为矢量图像,则自动跟踪是一种命令行工具,可以完成此操作。

它可以在Debian和Ubuntu上以Debian软件包的形式提供,名为 autotrace

一个使用它的例子是:

autotrace input.jpg --output-file output.svg --output-format svg

更新:在自动跟踪遇到麻烦的potrace方面,我也取得了成功。


3
我尝试了两个图像,它给出Read Error了另一个图像[7B]pT[F5]: invalid chunk type...它们是有效的png btw
Adrian

1
@Adrian,命令autotrace input.png --output-file output.svg --output-format svg不是吗?
Iulian Onofrei

@Adrian我也一样,但是只是检查了网站,我认为它不支持PNG。我尝试了PBM,然后成功了!
poshaughnessy

它无法识别png,因此我将其转换为jpg。它从200KB jpg中产生了将近6MB的svg。原因:基本上将每个像素都当作一个小正方形。不能以这种形式使用。
Csaba Toth

2
对于将来的读者来说,可能值得注意的是InkScape(在选定的答案中指出)当前将Potrace衍生工具用于其“跟踪位图”工具。因此,potrace和InkScape跟踪工具的输出之间不应有显着差异。
斯宾塞D

0

potrace是为此的工具。您可以批量处理它们,但首先必须将图像转换为单色:

ls ./p*.jpg | xargs -L1 -I {}  convert -monochrome {} {}.bmp
ls -1 ./*.bmp | xargs -L1 -I {} potrace {} -r 300 -b svg -o {}.svg

安装:

sudo apt install potrace
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.