IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[GD] Polygone à trous


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut [GD] 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...

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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 ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    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

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    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 ?

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    À 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...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    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 ?

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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).

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    Le problème reste entier. Je veux bien créer une ressource image transparente séparée mais comment y dessiner ce polygone évidé.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    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.

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 24
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Polygones à trous
    Par Souleyre dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/09/2015, 22h53
  2. Polygon et 2 trous
    Par littleqi dans le forum 2D
    Réponses: 2
    Dernier message: 17/02/2007, 15h25
  3. Triangulation de Polygones
    Par seb_lisha dans le forum DirectX
    Réponses: 1
    Dernier message: 01/07/2003, 12h40
  4. [Algo] Point à l'intérieur d'un polygone ?
    Par kebby dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/05/2003, 13h22
  5. une ligne et un polygone convexe
    Par rekam dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 20/12/2002, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo