Enregistrer une image transparente

Résolu
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 5 mai 2008 à 13:58
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 - 6 mai 2008 à 09:58
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

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
5 mai 2008 à 21:18
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();
}
3
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
6 mai 2008 à 09:58
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.
0
Rejoignez-nous