是否有用于改变java.awt.Color中RGB分量的LSB值的方法?

有帮助吗?

解决方案

车削一个位上:

int value = someValue | 0x1;

车削有点过:

int value = someValue & (~0x1);

切换开启或关闭位,如果它是之前关闭或打开:

int value = someValue ^ 0x1;

在换句话说: someValue中是二进制逻辑或运算以与多个LSB上,以便所得到的数量将有其LSB上太

someValue中被逻辑与运算的数与所有位 LSB上,以便所得到的数量将有LSB OFF。

someValue中相异或与该LSB上的数量,因此所得到的数字将其LSB切换。

其他提示

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

   int oldValue = oldColor.getRGB();
   int newValue = (oldValue & 0xFFFFFF00) | (lsb & 0xFF);
   Color newColor = new Color(newValue);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top