|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
Bonjour à tous,
Je cherche à pouvoir dessiner des polygones à trous dans une image GD. Il est possible de faire ce style de dessin dans du PDF (format vectoriel) mais je n'ai rien vu dans la documentation php. En vous remerciant d'avance... |
|
|
00
|
|
|
#2 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Ta question a l'air fun à mettre en oeuvre mais je ne me représente pas bien la figure... Aurais-tu un exemple visuel, stp ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
Le dessin le plus facile à expliquer est une bouée. Mais il s'agit là d'un cercle à trous. Le but pour moi est de dessiner une carte de france par communes ou départements. J'ai les fonds de cartes sous forme de polygones mais il existe des parties de communes imbriquées dans d'autres. C'est aussi le cas quand il existe un lac à l'interieur d'une commune. Il faut pouvoir colorier uniquement la commune et non le lac.
Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Pourquoi ne pas superposer un trou à ton polygone ? Ce serait probablement plus simple à réaliser (je ne suis pas certain que ta question ait une réponse, en fait).
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
Je suis d'accord que l'on peut toujours affichier un petit polygone à l'intérieur d'un plus grand. Mais le trou doit être complètement transparent et doit faire ressortir la couleur en arrière plan. Il est tout à fait possible de faire ce genre de dessin avec les formats vectoriels.
De même, je suis bloqué également avec la notion de clipping. Je n'ai rien trouvé avec GD. Mais existe-t-il une autre bibliothèque de création d'image disponible en php pour faire ce genre de dessin ? |
|
|
00
|
|
|
#6 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
À ma connaissance, il n'y a pas d'autre biblio que GD. La doc officielle de PHP ne parle que d'elle, en tout cas.
De quel fond parles-tu ? S'agit-il d'une image transparente (GIF/PNG) ou bien de poser un polygone sur une image en laissant une ou plusieurs parties de ce polygone comme évidées ? Dans le second cas, il est possible de recopier une portion de l'image source par-dessus le polygône de manière à simuler une transparence. Dans le premier cas, il va te falloir définir une zone avec de nooooooombreux points ou bien créer ton polygone en de nooooombreuses fois...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
C'est le second cas que je souhaite faire. C'est vrai qu'il est possible d'extraire une partie de l'image source pour la coller par dessus un polygone. Je n'y avais pas penser. Mais peut-on en extraire un polygone quelconque et non un rectangle ?
|
|
|
00
|
|
|
#8 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Bien vu, cela ne semble pas possible.
Peut-être que le plus simple serait de créer une ressource image transparente avec ton polygone évidé, puis de copier cette ressource par-dessus l'autre image (la source) en conservant la transparence (cf. la doc PHP pour des exemples).
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
Le problème reste entier. Je veux bien créer une ressource image transparente séparée mais comment y dessiner ce polygone évidé.
|
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
Exemple en SVG :
http://www.w3.org/TR/SVG/painting.html Chapitre 11.3 Fill Properties Il y a un exemple avec une bouée rouge. Mais SVG est vectoriel. |
|
|
00
|
|
|
#11 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Je pense que cela devrait aller ainsi :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
Bravo...Ceci doit fonctionner.
Je ne connaissais pas la fonction 3. Je vais implémenter cette méthode. Merci de ton aide. Ce n'est pas très optimisé mais de toute façon, je n'ai pas beaucoup de polygones de ce type. Encore merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com