如何将PNG图像转换为SVG?
如何将PNG图像转换为SVG?
有一个网站可以上传图片,并查看结果。
http://vectormagic.com/home
但是如果你想下载你的svg-image,你需要注册。 (如果你注册,你可以免费获得2张图片)
potrace
不支持PNG作为输入文件,但支持PNM。
因此,首先从PNG convert
为PNM:
convert file.png file.pnm # PNG to PNM
potrace file.pnm -s -o file.svg # PNM to SVG
解释选项
potrace -s
=>输出文件是S VG potrace -o file.svg
=>将输出写入file.svg
例
输入文件= 2017.png
convert 2017.png 2017.pnm
临时文件= 2017.pnm
potrace 2017.pnm -s -o 2017.svg
输出文件= 2017.svg
脚本
ykarikos提出了一个我已经改进的脚本png2svg.sh:
#!/bin/bash
File_png="${1?:Usage: $0 file.png}"
if [[ ! -s "$File_png" ]]; then
echo >&2 "The first argument ($File_png)"
echo >&2 "must be a file having a size greater than zero"
( set -x ; ls -s "$File_png" )
exit 1
fi
File="${File_png%.*}"
convert "$File_png" "$File.pnm" # PNG to PNM
potrace "$File.pnm" -s -o "$File.svg" # PNM to SVG
rm "$File.pnm" # Remove PNM
单行命令
如果你想转换很多文件,你也可以使用下面的单行命令:
( set -x ; for f_png in *.png ; do f="${f_png%.png}" ; convert "$f_png" "$f.pnm" && potrace "$f.pnm" -s -o "$f.svg" ; done )
也可以看看
另请参阅维基百科上的光栅与矢量转换器的比较。
png是一种位图图像风格,而SVG是一种基于矢量的图形设计,它支持位图,因此它不会将图像转换为矢量,而只是将图像嵌入到基于矢量的格式中。 你可以使用http://www.inkscape.org/这是免费的。 它会嵌入它,但它也有一个实时跟踪引擎,它会尝试将它转换为路径,如果你愿意(使用potrace)。 在adobe illustrator(commericial)中查看实时跟踪就是一个例子:
http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm
链接地址: http://www.djcxy.com/p/77323.html上一篇: How to convert a PNG image to a SVG?
下一篇: error on line 39 at column 26: Namespace prefix xlink for href on script is not defined