0
BufferedImage
をJavaでBMPとして透過的に保存する方法はありますか?好ましくはImageIO
APIを使用する。ImageIOを使用して透明度を持つBMPを書き込む
the BMP has supported alpha channel since, at least, Win95でも、何らかの理由でARGB(BGRA)形式でBMPを書き込めません。しかし、私はPNGと同じイメージを簡単に書くことができます。また、TYPE_INT_RGB
やTYPE_3BYTE_BGR
のように、アルファなしで画像を保存すると効果的です。
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!");
}
}
出力:
Couldn't write BMP!
ありがとうございます!私もそれを見つけましたが、これはかなり残念です...私はおそらく自分のBMPプラグインを書くだけです。結局のところ、フォーマットは非常に単純です。 :-) – haraldK