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

wxPython Discussion :

Rendre une image cliquable


Sujet :

wxPython

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Rendre une image cliquable
    Bonjour à tous !

    Voici mon problème :
    J'ai besoin de rendre une image cliquable par zone.
    En gros, ce serait une carte de France avec des zones colorées de différentes couleurs.

    Chaque zone (couleur) doit me renvoyer une valeur différente (de type float).

    Est-ce que quelqu'un peut m'orienter ?


  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Bon, je me répond tout seul...

    En regardant de plus près, existe-t-il une fonction qui envoie le code (hexa ou autre) d'un pixel d'une image ?

    Si oui, je pense que je pourrais m'en servir...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Points : 240
    Points
    240
    Par défaut
    Salut,

    Je ne sais pas dans quoi tu as mis ta carte...

    Si c'est un DC, tu as la fonction GetPixel().

    A +

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    J§'ai jamais fait ce genre de chose. Mais tu peux pas couper ton image en plusieur morceau et chaque morceau tu les insères dans un bouton. Je sais pas ce que ca donnera mais c'est toujours une idée.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par Ggamer Voir le message
    Salut,

    Je ne sais pas dans quoi tu as mis ta carte...

    Si c'est un DC, tu as la fonction GetPixel().

    A +
    Pour l'instant, rien n'est fait...
    Pour une fois, j'essaye de réfléchir avant de coder

    Sinon, peux-tu m'en dire plus sur ce qu'est un DC ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Points : 240
    Points
    240
    Par défaut
    Salut,

    le DC, en gros, c'est une surface de dessin dans laquelle tu peux peindre n'importe quoi (dont une image de carte par exemple que tu dessines avec les fonctions du DC ou que tu colles en tant que PNG par ex.)

    Pour plus d'infos, vois cette excellente page : http://www.zetcode.com/wxpython/gdi/

    Dans ce cas, tu peux utiliser, comme je disais plus haut, la fonction GetPixel() qui te retournera la couleur du pixel cliqué. Je pense que cela peut convenir à ta demande.

    Tu peux également voir dans la démo wxPython le PseudoDC (dans la catégorie Divers) qui permet de mémoriser plein d'objets créés dans le DC, MAIS c'est plus compliquer à coder !

    Ce n'est que mon avis, mais j'espère t'avoir été utile !

    A +

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    impeccable, merci !



    Je vais me pencher là-dessus !

    et si ça colle, je clique sur résolu !

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Effectivement j'utilise GetPixelPoint et... ça fonctionne !

    Par contre, je n'arrive pas à avoir la couleur du pixel cliqué, mais une autre un peu plus bas et plus à droite
    En fait, j'ai un décalage égal à la largeur du cadre de ma fenêtre.

    Donc ma question est la suivante :
    Comment récupérer la position exacte de ma souris sur le DC, ou alors comment connaître les épaisseur des cadres composant ma fenêtre pour faire la soustraction ?

    Si quelqu'un peut m'aider...

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    pfff, la prochaine fois je chercherais mieux AVANT de poster.
    Je poste quand même la réponse, si ça peut servir à d'autres

    Il suffisait d'un evt.GetPositionTuple() dans ma fonction et tout est OK !


    ... et donc : RÉSOLU !


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

Discussions similaires

  1. Rendre disabled une image cliquable
    Par dentfree dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 08/06/2012, 10h41
  2. [MySQL] Rendre une image cliquable
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/11/2010, 15h49
  3. [HTML] Comment rendre une image cliquable?
    Par Nixar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/03/2008, 09h58
  4. rendre une image transparente
    Par nabil dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 12/06/2005, 13h53
  5. rendre une image transparente
    Par matt92700 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 02/06/2005, 08h42

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