设置Java java.awt.Color RGB组件的LSB

时间:2009-12-08 20:02:21

标签: java colors rgb pixel

是否有一种方法可以更改java.awt.Color RGB组件的LSB值?

2 个答案:

答案 0 :(得分:3)

Color类是不可变的,你不能改变任何东西。但是,您可以使用您想要的任何值创建新颜色。例如,

   int oldValue = oldColor.getRGB();
   int newValue = (oldValue & 0xFFFFFF00) | (lsb & 0xFF);
   Color newColor = new Color(newValue);

答案 1 :(得分:2)

稍等一下:

int value = someValue | 0x1;

稍微退一步:

int value = someValue & (~0x1);

如果该位在关闭或打开之前打开或关闭该位:

int value = someValue ^ 0x1;

换句话说: someValue与LSB打开的数字进行二进制或运算,因此得到的数字也将具有其LSB。

someValue与一个带有所有位的数字进行AND运算,除了 LSB on,所以得到的数字将有LSB OFF。

someValue与LSB打开的数字进行异或运算,因此生成的数字将使其LSB切换。