好吧,你可能想要使用ImageMagick或GD功能.但要注意,你不能转换从 PNG/JPEG/BMP 至 SVG,这是一个单行道.
编辑:精化
将SVG(矢量)图像转换为PNG(位图)图像是微不足道的.ImageMagick可以做到这一点,我相当肯定GD应该也能做到.如果没有,还有rsvg的PHP绑定.
另一方面,将PNG(位图)转换为SVG(向量)是一个完整的问题.该问题的核心是位图图像非常简单地包含比矢量图像更少的信息:特别是关于形状,线条和结构的信息被平铺到像素goop并且不可挽回地丢失.在某些情况下,可以重建此信息,但从未实际检索或重新发现.
矢量化仅仅是一种基于位图图像创建新矢量图像的方法,计算机试图发现线条和形状.这个问题远非微不足道,而且在自动化设置中,该过程肯定不完美,甚至不可靠.
只有Jon Skeet可以将PNG转换为SVG.
Reedit: 自动跟踪和个人体验
一段时间后,我确实做了一些跟踪光栅图像的工作,为一些小型网络应用程序的原型构建(在这里找到它,MNSFW,需要FFx/Safari/Opera).使用potrace重复跟踪阈值化的黑/白图像以隔离元素并随后手动重建图像来完成矢量的创建.这是一个艰苦的过程,但当时我没有工作,没有更好的事情要做.
要点是:自动跟踪光栅图像以产生矢量图像充其量是命中注定,并且可靠地获得良好的结果