Est-ce que quelqu'un a un moyen de stocker un BufferedImage
avec la transparence en tant que BMP en Java? De préférence en utilisant l'API ImageIO
.Ecriture d'un BMP avec transparence à l'aide d'ImageIO
Pour une raison quelconque, je ne peux pas écrire un format BMP au format ARGB (BGRA), même si the BMP has supported alpha channel since, at least, Win95. Je peux, cependant, facilement écrire la même image qu'un PNG. Il fonctionne également bien en stockant une image sans alpha, comme TYPE_INT_RGB
ou TYPE_3BYTE_BGR
.
Tenir compte de l'extrait de code suivant:
public static void main(String[] args) throws IOException {
if (!ImageIO.write(new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB), "BMP", new File("foo.bmp"))) {
System.err.println("Couldn't write BMP!");
}
if (!ImageIO.write(new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB), "PNG", new File("foo.png"))) {
System.err.println("Couldn't write PNG!");
}
}
Sortie:
Couldn't write BMP!
Merci! Je l'ai trouvé aussi, ce qui est assez décevant ... Je vais probablement écrire mon propre plugin BMP. Le format est assez simple, après tout. :-) – haraldK