服务器端将光栅图像转换为矢量图像

时间:2010-07-07 03:38:54

标签: php image-processing vectorization

我想将用户上传的图像(以各种格式和条件)转换为矢量图像格式,例如.eps。我主要是在PHP工作。

有哪些选择?

4 个答案:

答案 0 :(得分:5)

在GPU下发布了少量的自动跟踪软件项目(例如,POTRACE,您可以通过系统命令运行。我无法证明其质量。跟踪几乎总是需要一些人为监督的元素为了避免事情看起来像一堆破碎的陶器,但你不会知道,直到你尝试。而不是通过PHP触发跟踪器,我会使用PHP只是将传入的图像保存到临时文件夹然后,通过cronjob(一 - 或者每分钟两次),分批摇动保持文件夹(你可以按照这种方式调整它,避免它被用作你的网站的一种方式)。

我正在考虑为即将开展的项目做一些略微相似的事情(虽然不是图形相关),我正在考虑在台式机上完成所有繁重工作,这会获取所有传入的文件并在FTP之前处理它们回到服务器。在网络服务器上运行任何像这样的复杂资源密集型脚本,我有点紧张。

答案 1 :(得分:2)

Definitelly你可以使用Inkscape

来做到这一点

这是它支持的格式列表What formats can Inkscape import/export?

它当然可以与命令行或exec()命令Can Inkscape be used from the command line?

一起使用

答案 2 :(得分:0)

Imagetracer是一个免费的开源(公共域)库和应用程序,可以在服务器端使用。免责声明:我做了这些。

您可以使用

中的 ImageTracer.jar

https://github.com/jankovicsandras/imagetracerjava

这样用PHP:

<?php exec("java -jar ImageTracer.jar input.png outfilename output.svg"); ?>

您也可以在服务器端使用带有Node.js的JavaScript版本,这是示例代码:

https://github.com/jankovicsandras/imagetracerjs/blob/master/nodetest/nodetest.js

答案 3 :(得分:-6)

PHP不是图像编辑器。它是超文本预处理器。

您必须转移到serverfault.com,或者甚至更好地使用某些图像处理资源,并要求使用system()命令从PHP运行一些命令行实用程序。