小智 43
你需要先使用potrace并转换为位图.
$convert input.jpg output.ppm
$potrace -s output.ppm -o svgout.svg
Run Code Online (Sandbox Code Playgroud)
Kur*_*fle 27
实际上,通过完整安装最新版本的ImageMagick,它应该像以下一样简单:
convert some.jpeg some.svg
Run Code Online (Sandbox Code Playgroud)
当然,ImageMagick本身无法完成所有工作 - 它使用委托(帮助程序)来处理SVG输入或输出.(其他答案已经指出了这一点.)
要查看所有代理(及其各自的命令)的(部分)列表,请运行
convert -list delegate
Run Code Online (Sandbox Code Playgroud)
要查看所有委托机密隐藏的配置文件,请参阅
convert -list delegate | grep delegates.xml
Run Code Online (Sandbox Code Playgroud)
要查看(部分)SVG处理委托列表,请运行
convert -list delegate | grep -i svg
Run Code Online (Sandbox Code Playgroud)
但是,ImageMagick喜欢将一些外部帮助程序实用程序置于"秘密"模式,并且在使用上述命令时不一定会显示它们的存在.
只需查看delegates.xml
文件本身.在我的系统上它是:
grep -i svg /opt/local/etc/ImageMagick/delegates.xml | grep -i --color stealth
<delegate decode="autotrace" stealth="True" \
command=""/opt/local/bin/convert" "%i" \
"pnm:%u"\n\
"/opt/local/bin/autotrace" \
-input-format pnm \
-output-format svg \
-output-file "%o" "%u""/>
<delegate decode="svg:decode" stealth="True" \
command=""/opt/local/bin/inkscape" "%s" \
--export-png="%s" \
--export-dpi="%s" \
--export-background="%s" \
--export-background-opacity="%s" \
> "%s" 2>&1"/>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,在我的系统上,ImageMagick安装会自动使用(其中包括)......
inkscape
将SVG转换为PNG;autotrace
将PNM转换为SVG;当然,人们可以争论autotrace
直接使用的好处- 但这需要首先手动将any-input格式转换为PNM.因此,对于这个初步步骤,你可能会使用ImageMagick ......
sch*_*der 16
您实际上需要一些软件或代码来在两者之间对图像进行矢量化,因为jpg是一种栅格格式,而SVG是一种矢量格式.我不认为imagemagick可以为你做到这一点.
归档时间: |
|
查看次数: |
28580 次 |
最近记录: |