conversion côté serveur d'images raster images vectorielles
-
02-10-2019 - |
Question
Je voudrais convertir des images qui ont été téléchargées par l'utilisateur (dans différents formats et conditions) à un vecteur format d'image tels que .eps. Je suis avant tout travailler en PHP.
Quelles options?
La solution
Il y a un petit nombre de projets logiciels autotracing libérés sous GPU (par exemple, Potrace que vous pouvez exécuter via les commandes du système. Je ne peux pas témoigner de leur qualité. Tracing exige presque toujours un élément de contrôle humain pour éviter les choses ressembler à un désordre de la poterie brisée, mais vous ne saurez pas jusqu'à ce que vous essayez. plutôt que de déclencher le traceur via PHP , j'utiliser PHP simplement pour enregistrer des images entrantes dans un dossier temporaire, puis, à travers cronjob (un ou deux par minute), la manivelle dans le dossier de maintien en lots (vous pouvez le rythme de cette façon et éviter d'être utilisé comme un moyen de DoS votre site).
Je pense à faire quelque chose un peu similaire (mais connexes non graphique) pour un projet à venir, et j'envisage de faire tout mon levage de charges lourdes sur une machine de bureau, qui chercher tous les fichiers entrants et de les traiter avant de les FTPing au serveur. Je suis un peu nerveux à l'idée d'avoir un script beaucoup de ressources complexes comme celui-ci en cours d'exécution sur un serveur web.
Autres conseils
vous pouvez le faire avec Assurément Inkscape
Voici la liste des formats qu'il supporte Quels formats peuvent Inkscape import / export?
et il peut être bien sûr utilisé avec la ligne de commande ou d'une commande exec ()
Imagetracer est une bibliothèque et une application libre et open source (Domaine public) qui peut être utilisé sur le côté serveur. Avertissement:. J'ai fait ces Vous pouvez utiliser ImageTracer.jar https://github.com/jankovicsandras/imagetracerjava comme ça avec PHP: Vous pouvez également utiliser la version JavaScript avec Node.js sur le côté serveur, voici le code exemple: https://github.com/jankovicsandras/imagetracerjs/blob/ maître / NodeTest / nodetest.js <?php exec("java -jar ImageTracer.jar input.png outfilename output.svg"); ?>
PHP n'est pas un éditeur d'image. Il est un hypertexte préprocesseur.
Vous devez passer à serverfault.com, ou encore mieux sur certaines ressources de traitement d'image et demandez là pour une ligne de commande utilitaire qui peut être exécuté à partir de PHP en utilisant la commande system()
.