将SVG转换为PNG/JPEG/BMP和反之亦然?

See*_*ker 2 php svg image

PHP中的代码将SVG转换为其他图像格式并且相反?

Wil*_*and 5

好吧,你可能想要使用ImageMagickGD功能.但要注意,你不能转换 PNG/JPEG/BMP SVG,这是一个单行道.

编辑:精化

将SVG(矢量)图像转换为PNG(位图)图像是微不足道的.ImageMagick可以做到这一点,我相当肯定GD应该也能做到.如果没有,还有rsvg的PHP绑定.

另一方面,将PNG(位图)转换为SVG(向量)是一个完整的问题.该问题的核心是位图图像非常简单地包含比矢量图像更少的信息:特别是关于形状,线条和结构的信息被平铺到像素goop并且不可挽回地丢失.在某些情况下,可以重建此信息,但从未实际检索或重新发现.

矢量化仅仅是一种基于位图图像创建新矢量图像的方法,计算机试图发现线条和形状.这个问题远非微不足道,而且在自动化设置中,该过程肯定不完美,甚至不可靠.

只有Jon Skeet可以将PNG转换为SVG.

Reedit: 自动跟踪和个人体验

一段时间后,我确实做了一些跟踪光栅图像的工作,为一些小型网络应用程序的原型构建(在这里找到它,MNSFW,需要FFx/Safari/Opera).使用potrace重复跟踪阈值化的黑/白图像以隔离元素并随后手动重建图像来完成矢量的创建.这是一个艰苦的过程,但当时我没有工作,没有更好的事情要做.

要点是:自动跟踪光栅图像以产生矢量图像充其量是命中注定,并且可靠地获得良好的结果

  1. 一个很好的源图像
  2. 付出了很多努力

  • @gpvos是的,好的,你可以在SVG中存储光栅图像.但当然,那时浮现在脑海中的问题是"为什么?"...... (3认同)