Enregistrer une image transparente

Résolu
Signaler
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
-
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
-
Salut,

Je veux enregistrer une image sur le disque avec certains pixels transparents.

voilà l'image :

image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

[...]

dans mon application, elle est bien transparente, pas de problème. Mais voilà, quand je l'enregistre :

try {
    ImageIO.write(image, "png", selectedFile);
} catch (IOException e1) {
    e1.printStackTrace();
}

Le fichier résultant est une image sans aucun pixel transparent. Les pixels transparents sont de couleur grise. Y'a-t-il une option à spécifier lors de l'enregistrement de l'image qui permette de garder l'alpha?

2 réponses

Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
37
Salut:

C'est vraimant étrange.

Avec ce même bout de code j'obtiens un image parfaitement transparente.

Utilises ce test pour conclure que ton image est bien transparent ou pas:

public boolean isTransparent(BufferedImage bi) {
    return bi.getColorModel().hasAlpha();
}
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
25
J'ai refait tourné mon appli aujourd'hui, et elle fonctionne. Je ne sais pas ce qui s'est passé les dernières fois. Merci.