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

2D Java Discussion :

Transparence..


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut [résolu]Transparence..
    Bonjour,
    Je suis toujours dans mon jeu (c'est un jeu ou il y à un plateau et des pions).
    Je charge une image du pion comme ceci:

    Image kang=(new ImageIcon("c:/kangourou1.jpg")).getImage();

    Cette image contient des pixels blancs. J'aimerai ne pas les afficher et laisser ce qu'il y à derrière. J'ai trouvé dans la faq des notions relatives à la transparence, mais elles ne sont pas couplées avec le chargement de mon image, et je ne comprend pas comment spécifier que le blanc est invisible. Dois-je utiliser un éditeur d'image qui m'enregistre une image d'un type qui gère la transparence ou bien puis-je expliquer à l'ordinateur de na pas afficher le blanc?
    Merci de voter aide!

    MilOo

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    BufferedImage image = ...
    int width = image.getWidth();
    int height = image.getHeight();
     
    if (image.getType() != BufferedImage.TYPE_INT_ARGB) {
      BufferedImage newBi = new BuferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
      Graphics2D graphics = newBi.createGraphics();
      graphics.drawImage(image, 0, 0, null);
      graphics.dispose();
      image = newBi;
    }
     
    for (int i = 0 ; i < width ; i++) {
      for (in j = 0 ; j < height ; j++) {
        int rgb = image.getRGB(i, j);
        int red = (rgb >> 16) & 0xff;
        int green = (rgb >> 8) & 0xff;
        int blue = (rgb >> 0) & 0xff;
        // On remplace les pixels blancs par la couleur (noire) transparente.
        if ((red == 255) && (green == 255) && (blue == 255)) {
          image.setRGB(i, j, 0);
        }
      }
    }
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    Oulala, c'est compliqué tout ca..

    Je veux bien, j'ai même trouvé comment convertir mon Image en BufferedImage, mais seulement, dans ce bout de code, je ne comprend pas à quoi correspond mon Graphics g passé en parametre de paintComponent. Donc heu, c'est normal, ca n'affiche rien.
    Je suis encore désolé d'être si lent à la compréhnsion.. enfin. Merci encore de votre aide!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    Yahoo!
    Je suis toujours trop prompt à dire que ca ne marche pas!
    Suffisait d'ajouter ce qu'il me manquait!
    Merci encore!!!!!

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Le code donné correspond à une méthode de conversion pas à de l'affichage. Il ne faut appeler ceci qu'une seule fois, lors du chargement de l'image ; donc à ne pas mettre dans dans paintComponent().
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. comment faire un background transparent?
    Par guigui1005 dans le forum Composants
    Réponses: 5
    Dernier message: 17/05/2012, 21h45
  2. [Composant] La transparence
    Par Nuts07 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/05/2003, 14h51
  3. Comment rendre transparent le tour d un icone
    Par NeoRonin dans le forum Composants VCL
    Réponses: 7
    Dernier message: 03/03/2003, 01h40
  4. Réponses: 1
    Dernier message: 23/02/2003, 06h22
  5. ouverture d'une form en fondu transparent
    Par nicholz dans le forum Composants VCL
    Réponses: 9
    Dernier message: 08/01/2003, 11h06

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