Forum général.cherche-logiciel manipulation svg

Posté par  .
Étiquettes : aucune
0
12
mai
2007
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  (site web personnel) . Évalué à 3.

    sérieux, ce serait pas mal de montrer que tu as cherché un peu avant quand même... (désolé si c'est toi qui prend pour les autres aussi :D)

    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  . Évalué à 2.

      OK, je me suis mal exprimé.

      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  . Évalué à 3.

        Je ne vois pas comment tu pourrais faire autrement que du manipuler le XML.
        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).


        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.

        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.


        Scripter inkscape dans une page Web ne me semble pas non plus une solution satisfaisante.

        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  . Évalué à 2.

    Bonjour,

    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.