質問

を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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top