是否可以通过命令行将 Inkscape 自动跟踪 PNG 转换为 SVG?

Posted

技术标签:

【中文标题】是否可以通过命令行将 Inkscape 自动跟踪 PNG 转换为 SVG?【英文标题】:Is it possible to make Inkscape autotrace PNG to SVG, but from the command line? 【发布时间】:2022-01-16 20:46:22 【问题描述】:

我想自动化“光栅到矢量”的转换。 PNG转SVG。 (SO 上的大多数问题都是相反的)

我在 Linux 上尝试过旧的命令行工具 autotrace,但我无法让它运行。我试图安装一个包,并从源代码编译它。没有。

然后我意识到 Inkscape 现在已将“自动跟踪”集成到其代码库中。我想将简单的草图从 PNG 转换为 SVG。

我想在 Bash for-loop 中执行此操作,使用不同的自动跟踪设置(通过次数;忽略最大 X 像素宽度的斑点)等。

我已经尝试过“action”命令行选项

inkscape --without-gui --actions="file-open:my.png"

这会弹出一个小的“png位图图像导入”对话框,等待我确认。

我也试过 verb 命令行选项

inkscape --with-gui  --verb="FileImport:my.png"

这会打开大的“选择要导入的文件”对话框(忽略我的--verb 参数)

此时我放弃了。

我希望 Inkscape 导入 PNG 图片,使用一些设置自动跟踪它,将其保存为 SVG。也许,在保存之前,复制跟踪层,锁定导入的背景层,将层从 path-12345 重命名为“tracesettings-x-y-z”等。

(我的最终目标是置换跟踪设置,为我的用例找到好的设置,但这不是这个问题的重点)

【问题讨论】:

graphicdesign.stackexchange.com/questions/133437/… 【参考方案1】:

Inkscape 正在使用 potrace 和 autotrace 将位图图像跟踪为矢量格式,例如 SVG 和 PDF。

假设您有一个图像:foo.png,您想使用 potrace 追踪到 SVG:

首先,您需要将图像转换为位图格式 (BMP)。 调用potrace 命令
# I am using ImageMagick convert command to convert PNG to BMP
convert foo.png foo.bmp

# Invoke potrace command with SVG backend
potrace -b svg foo.bmp

结果将是:foo.svg

【讨论】:

这似乎是一个可行的替代方案,同样好,谢谢。 -- 我认为 Inkscape 现在也包含自动跟踪。我在哪里读过,不记得在哪里了。 this thread on graphic-design.se(Sphinxxx 所指)中的一个 cmets 也这么说。 @knb:我已经更新了答案。你可以从他们的 github repo 下载 autotrace:github.com/autotrace/autotrace/releases

以上是关于是否可以通过命令行将 Inkscape 自动跟踪 PNG 转换为 SVG?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过命令行将 iOS 应用上传到应用商店

在 Windows 中自动/脚本/命令行将 .pem 密钥文件转换为 .ppk

Linux通过命令行将英文改成中文

Linux通过命令行将英文改成中文#私藏项目实操分享#

使用命令行将硬盘映像文件映射到分区[关闭]

如何通过命令行将 XML 文件导入“Charles Proxy > Map Local”