设置LSB的java.awt.Color中的Java RGB分量
题
是否有用于改变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);
不隶属于 StackOverflow