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

AWT/Swing Java Discussion :

Image superposées cliquables au travers des zones transparentes


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Par défaut Image superposées cliquables au travers des zones transparentes
    Bonsoir,

    mon titre n'est pas très clair, mais je m'explique :

    je souhaite disposer différentes images sur un fond. Pour l'instant mes images sont dans des JLabel, je ne sais pas si c'est le plus approprié, mais là n'est pas forcément la question, ces images sont des .png ou .jpg, avec des zones transparentes, et donc pas simplement des rectangles pleins.
    Chaque image a son propre écouteur, et le problème vient lorsque je clique sur une zone transparente, cela déclenche quand même l'événement de l'image ayant cette zone transparente, c'est normal me direz vous mais est-il possible de rendre ces zones transparentes insensibles au clic ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Par défaut
    Ouuuuu le grand garçon, j'ai résolu mon problème en récupérant la valeur du pixel et en testant s'il était transparent.
    Du même coup j'avais galéré pour trouver un moyen de convertir une image en bufferedImage et pouvoir travailler sur un pixel, mais voilà un moyen simple qui conserve la transparence.

    Si ça peut servir à quelqu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Image image = ...
    BufferedImage bufImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
            bufImage.getGraphics().drawImage(image, 0, 0, null);
     
            int pixel = bufImage.getRGB(e.getX(), e.getY());
            int alpha = (pixel >> 24) & 0xff;
            int red = (pixel >> 16) & 0xff;
            int green = (pixel >> 8) & 0xff;
            int blue = (pixel) & 0xff;
            System.out.println("argb: " + alpha + ", " + red + ", " + green + ", " + blue);
            if (alpha == 0) {
                System.out.println("pixel transparent");
            }

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

Discussions similaires

  1. Corrélation, fft d'une image avec des zones transparentes
    Par Fiabulu dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 24/01/2011, 11h31
  2. Réponses: 3
    Dernier message: 07/08/2008, 19h07
  3. Rendre visible des contrôles sur un Form ayant des zones transparentes
    Par ProgElecT dans le forum Vos contributions VB6
    Réponses: 8
    Dernier message: 20/09/2007, 19h25
  4. rollover dans une image avec des zones cliquables
    Par brasco06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/02/2006, 11h15
  5. [FLASH MX2004 ] Définir des "zones cliquables"
    Par chodaboy34 dans le forum Flash
    Réponses: 3
    Dernier message: 07/11/2004, 18h58

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