0

単一ピクセルのアルファチャネルを-1にするにはどうすればよいのでしょうか。PNG画像(バッファリングされた画像、ARGBタイプで読み込まれる)の各ピクセルを調べています。アルファ値の多くは-1です(他はゼロより大きい)-それはどのように可能ですか?値は0から255の間にあるべきではありませんか?コードは以下のとおりです。ヒントをありがとう!

// imagine some great loop for x and y before this code
int a = (scaledImage.getRGB(x, y) & 0xff000000) >> 24; // kill all bits except for the first 8, shift 24 to the right to get them
System.out.println("" + a); 
4

2 に答える 2

2

符号拡張の問題が発生しています。>>>代わりに、符号なしシフト演算子を使用してください。

于 2012-05-08T20:09:04.640 に答える
0

unsigned intとして扱う場合、-1 = 0xFF =255です。これは、アルファチャネルの255値を解釈するもう1つの方法です。

于 2012-05-08T20:09:31.043 に答える