2012-05-08 10 views
0

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

// 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); 

答えて

2

あなたにはサインエクステンションの問題があります。代わりに、符号なしシフト演算子>>>を使用してください。

+0

問題を解決してくれてありがとう! –

0

符号なし整数として扱う場合、-1 = 0xFF = 255です。これは、アルファチャンネルの255値を解釈する別の方法です。

+0

説明ありがとう、アダム!残念ながら、あなたやericksonが高速だったのかどうかは分かりません。エリクソンの答えを受け入れることもできますが、これはこの問題の解決方法を提供しますが、あなたも非常に役に立ちます! –

関連する問題