是否可以通过命令行将 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:
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?的主要内容,如果未能解决你的问题,请参考以下文章