BufferedImageのgetRGBメソッドを使用します。私は画像のピクセルをチェックし、それらのどれが透明であるかを見たいと思います(一般に透明であるピクセルは透明になります)。 getRGBが返すintからどのように取得できますか?もちろん、IMGのJava BufferedImageピクセルが透明かどうかを知る方法
6
A
答えて
17
BufferedImage img = ....
public boolean isTransparent(int x, int y) {
int pixel = img.getRGB(x,y);
if((pixel>>24) == 0x00) {
return true;
}
}
正しいフォーマットTYPE_4BYTE_ABGRか、常に(つまり0xffの)不透明になる場合、他のアルファチャンネルをサポートし、いくつかの形式にする必要があります。
0
intのアルファ値を得る正しいシフトは、符号ビットのために>>>です。
例: int alpha1 =(ピクセル1 & 0xff000000)>>> 24;
'int transparency =((img.getRGB(x、y)&0xff000000)>> 24);最初のバイトはアルファ値です。 – Chad