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 :

[BufferedImage/Graphics2D] Problème de superposition d'images


Sujet :

2D Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut [BufferedImage/Graphics2D] Problème de superposition d'images
    J'essaie de superposer deux image, une en png et une en gif (avec de la transparence, c'est celle que je place sur la première).

    Je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedImage image = ImageIO.read(file);
    même chose pour ma deuxème image, puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Graphics2D g2d = image.createGraphics();
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                    RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION,
                    RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
     
    g2d.drawImage(secondImage, 0, 0, null);
     
    g2d.dispose();
    et j'obtiens :

    en partant de et .

    Je me suis dis que c'était un problème de gestion de la transparence du png mais quand j'ajoute la transparence, j'obtiens ce que je veux mais avec un glissement des couleurs :


    J'obtiens ce glissement des couleurs dès que je passe de la palette de couleur du png au RGB (même chose avec in ColorConvertOp).

    Bref, y a t-il un truc pour que je conserve correctement mes couleurs ? (sans modifier tous mes png, je ne les produis pas moi-même).

    J'ai RTFM et STFW et utilisé la fonction recherche avant de poster

    Merci

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Je ne comprends pas bien quand est-ce que tu obtiens le changement de couleurs ?

    Pourquoi n'utilises-tu pas 2 fichiers PNG au lieu d'un .gif et d'un PNG ?

  3. #3
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut
    Quel type de BufferedImage utilises-tu? J'ai aussi un problème avec la superposition d'images dans des animations avec BufferedImage. lorsque je passe le tout à VolatileImage les problèmes disparaissent...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut
    Citation Envoyé par Gfx
    Je ne comprends pas bien quand est-ce que tu obtiens le changement de couleurs ?

    Pourquoi n'utilises-tu pas 2 fichiers PNG au lieu d'un .gif et d'un PNG ?
    J'obtiens le changement de couleur quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BufferedImage monImagePNG = ImageIO.read(monFichier);
    BufferedImage image = new BufferedImage(x, y, BufferedImage.TYPE_INT_ARGB);
    image.drawImage(monImagePNG, 0, 0, null);
    par exemple. Je passe de BufferedImage.TYPE_BYTE_INDEXED (pour le PNG, je pense) à BufferedImage.TYPE_INT_ARGB. Et ça marche pas bien.

    Citation Envoyé par broumbroum
    Quel type de BufferedImage utilises-tu? J'ai aussi un problème avec la superposition d'images dans des animations avec BufferedImage. lorsque je passe le tout à VolatileImage les problèmes disparaissent...
    ah ben, j'utilise la bête java.awt.image.BufferedImage. Je connais pas VolatileImage.
    Je vais tester (enfin, c'est juste des bêtes images statiques, pas d'animation ou ce genre de chose )

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut
    Citation Envoyé par Herisson_f
    Je vais tester
    pas mieux
    Je dois repasser en BufferedImage pour l'écrire avec ImageIO et ça change mes couleurs (à moins qu'il y a moyen d'écrire une VolatileImage ?)

    au fait, j'utilise une PNG et une GIF parce que les images que j'utilise sont comme ça (et que ce n'est pas moi qui les ai créée) et comme il y en a beaucoup, ce serait fastidieux de tout mettre en png ou en gif.

Discussions similaires

  1. [XNA] Problème superposition d'image
    Par Luffy49 dans le forum XNA/Monogame
    Réponses: 1
    Dernier message: 26/02/2008, 11h11
  2. Réponses: 4
    Dernier message: 06/02/2008, 20h28
  3. Problème de superposition d'images dans Movie
    Par pouette13 dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/07/2007, 19h17
  4. Jframe : Problème de "superposition" image de fond / bouton SUITE
    Par NicolasGuyomar dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/03/2007, 13h06
  5. Jframe : Problème de "superposition" image de fond / bouton
    Par lottie dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 15/03/2007, 08h35

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