LSBのJavaのをjava.awt.Color RGBコンポーネントを設定します。
質問
をjava.awt.Color RGB成分のLSB値を変更する方法はありますか?
解決
上のビットをオンにします
int value = someValue | 0x1;
ビットをオフにする
int value = someValue & (~0x1);
それは前にオフまたはオンした場合は、オンまたはオフにビットを切り替えるます:
int value = someValue ^ 0x1;
言い換えれば: someValueのはLSBので、結果の数があまりにも上のLSBになります。
上で数とバイナリ論理和演算でありますsomeValueの全てのビットで数とAND演算されたのLSBように得られた数を有することになるLSB OFF
を除いてsomeValueのは、LSB上で番号をとXORされ、その結果の数値は、そのLSB切り替えています。
他のヒント
Colorクラスは不変である、あなたは何を変更することはできません。しかし、あなたが好きな値を使用して新しい色を作成することができます。たとえば、
int oldValue = oldColor.getRGB();
int newValue = (oldValue & 0xFFFFFF00) | (lsb & 0xFF);
Color newColor = new Color(newValue);
所属していません StackOverflow