我想将用户上传的图像(各种格式和条件)转换为矢量图像格式,例如 .eps。我主要在 PHP 中工作。
存在哪些选择?
有少量在 GPU 下发布的自动跟踪软件项目(例如,您可以通过系统命令运行的POTRACE。我无法证明它们的质量。跟踪几乎总是需要一些人工监督,以避免看起来像一团糟破碎的陶器,但在你尝试之前你不会知道。而不是通过 PHP 触发跟踪器,我会使用 PHP 简单地将传入的图像保存到一个临时文件夹,然后通过 cronjob(每分钟一个或两个) ,分批浏览保存文件夹(您可以以这种方式调整它并避免它被用作对您的站点进行 DoS 的一种方式)。
我正在考虑为即将到来的项目做一些类似的事情(尽管与图形无关),并且我正在考虑在台式机上完成所有繁重的工作,这将获取所有传入的文件并在将它们通过 FTP 传输回之前对其进行处理服务器。我对在 Web 服务器上运行任何像这样的复杂资源密集型脚本感到有些紧张。
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/tree/master/nodecli
https://github.com/jankovicsandras/imagetracerjs/blob/master/nodetest/nodetest.js
PHP 不是图像编辑器。它是一个超文本预处理器。
您必须转到 serverfault.com,或者在某些图像处理资源上更好,并在那里请求一些可以使用该system()
命令从 PHP 运行的命令行实用程序。