Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/09/2006, 23h06   #1
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 5
Points : 5
Par défaut Polygone à trous

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...
minours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 02h45   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
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
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 10h54   #3
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 5
Points : 5
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
minours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 10h58   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
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
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 13h18   #5
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 5
Points : 5
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 ?
minours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 13h30   #6
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
À 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
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 13h53   #7
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 5
Points : 5
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 ?
minours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 14h12   #8
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
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
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 14h26   #9
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 5
Points : 5
Le problème reste entier. Je veux bien créer une ressource image transparente séparée mais comment y dessiner ce polygone évidé.
minours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 14h33   #10
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 5
Points : 5
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.
minours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 14h36   #11
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Je pense que cela devrait aller ainsi :
  1. Dessine un polygone plein, d'une couleur A, dans une nouvelle ressource image ;
  2. Dessine par dessus un cercle plein, d'une couleur B ;
  3. Rends la couleur B transparente ;
  4. Appose cette image sur la ressource de ton image d'origine en conservant la transparence.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 14h47   #12
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 5
Points : 5
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
minours est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h44.


 
 
 
 
Partenaires

Hébergement Web