Bonjour,
J'ai récupéré un document SVG que je voudrais manipuler à la volée en PHP.
Connaissez-vous une bibliothèque PHP capable d'ouvrir un document SVG de le transformer et de retourner une image au format png ?
Sinon comment puis-je convertir mon image SVG en une liste de polygones ?
Merci.
# google
Posté par BAud (site web personnel) . Évalué à 3.
sur ce site même : https://linuxfr.org/~nojhan/22456.html (cela a peut-être évolué depuis 2006, c'est l'occasion de (re-)vérifier).
sinon creuser du côté de inkscape http://www.developpez.net/forums/showthread.php?t=296091 vu que ça se scripte facilement http://www.geekzone.fr/ipb/lofiversion/index.php?t26841.html
[^] # Re: google
Posté par mxt . Évalué à 2.
Une conversion SVG vers png, jpeg ou autre ça oui je maîtrise.
Je vais développer ma pensée au sujet de «manipuler à la volée» le fichier SVG.
J'ai récupéré une carte de France au format SVG, et je souhaite, pour mon site Web développé en PHP, pouvoir par exemple coloriser certaines régions ou certains départements.
Pour cela, récupérer simplement une image PNG n'est pas suffisant et j'aimerais pouvoir récupérer par exemple les coordonnées des limites des régions.
Scripter inkscape dans une page Web ne me semble pas non plus une solution satisfaisante.
Bref, comme j'ai rien trouvé, je suis en train d'étudier le norme SVG.
Merci.
[^] # Re: google
Posté par lem__mel . Évalué à 3.
Sur une image classique (bitmap, etc), tu serais obligé d'avoir une carte "annexe" à ton image (coordonnées des zones coloriables, etc) puis tu utiliserais les possibilités de retouche d'image des libs PHP.
Avec le SVG c'est pas bien différent : il faut bien connaître les zones coloriables puis appliquer les modifications ; comme ici c'est du XML pas besoin de logiciel spécial, pas besoin d'avoir une map des zones (suffit de naviguer dans l'arborescence XML, de placer des attributs supplémentaires).
Une fois fait le travail de sélection des régions (e.g. créer une "image" de ce PNG où chaque pixel a pour valeur celle affectée à la zone -Bretagne==1, Centre ==2, etc), il y a plus qu'à appliquer un masque (connais pas les possibilités du PHP, mais avec une image en BITMAP c'est pas bien dur) : colorier en vert la bretagne et en gris le reste, etc.
Le hic, c'est évidemment le travail de sélection des régions. Mais à moins d'avoir du bol (les gars qui ont fait la carte en SVG ont fait "propre", ou ont ajouté des infos supplémentaires), tu couperas pas à ce boulot.
Disons plutôt que trouver un hébergeur qui acceptera d'installer et d'autoriser l'accès à inskcape ne sera pas forcément évident (évidemment, c'est plus simple en s'hébergeant soi même).
# ImageMagick - Convert
Posté par Sebastian . Évalué à 2.
Pour convertir l'image svg en png il suffit d'utiliser la librairie "ImageMagick".
Un simple : convert image.svg image.png
Pour les nombreuses options, lire la documentation.
http://www.imagemagick.org/script/command-line-options.php
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.