は、以下のコードを見て:java - image.getRGB(x、y)のバイナリAND(&)演算。
image.getRGB(x,y) & 0x000000FF
結果image.getRGB(x、y)は-16777216、AND演算結果が0(黒)である
結果画像です。 getRGB(x、y)は-1で、AND演算結果は255(WHITE COLOR)である
私の質問は、あなたがJava - Understanding about image.getRGB(x,y) output in Binary termに私の関連記事を見る場合はimage.getRGBの結果を見ることができる、である(X 、y)は、アルファ、レッド、グリーン、 d青(32ビット)だが0x000000FFは8ビットのみである。
image.getRGB : 1111 1111 0000 0000 0000 0000 0000 0000
0x000000FF : 1111 1111
image.getRGB & 0x000000FF : 0000 0000
第2の例:例えば
彼らは結果0または255以上の私の場合のように取得するように、彼らは32ビットimage.getRGBで0x00000FFの8ビットの間で比較する方法image.getRGB : 1111 1111 1111 1111 1111 1111 1111 1111
0x000000FF : 1111 1111
image.getRGB & 0x000000FF : 1111 1111
?
本当に間違っていませんか?このコード出力は 'System.out.println(0xFF << 24&0xFF); →0' 'System.out.println(Color.black.getRGB()); →-16777216' 'System.out.println(Color.black.getRGB()&0xFF); →0' – Maljam
@maljam:申し訳ありませんが、私は私の質問を編集しました。上記をもう一度確認することができます。ありがとう – Michael
'-16777216' ==' 0xFF00000' –