문제

java.awt.color rgb 구성 요소의 LSB 값을 변경하는 방법이 있습니까?

도움이 되었습니까?

해결책

조금 켜짐 :

int value = someValue | 0x1;

조금 끄기 :

int value = someValue & (~0x1);

비트가 꺼져 있거나 켜지는 경우 비트를 켜거나 끄는 것 :

int value = someValue ^ 0x1;

다시 말해 : 일부 값은 이진 또는 LSB가있는 숫자가있는 이진이 있으므로 결과 숫자에 LSB도 켜져 있습니다.

일부 값은 모든 비트가있는 숫자가 있습니다 제외하고 LSB 켜기로 결과 번호는 LSB가 꺼집니다.

일부 값은 LSB가 켜진 숫자와 함께 xor'ed이므로 결과 숫자는 LSB가 전환됩니다.

다른 팁

컬러 클래스는 불변으로 아무것도 바꿀 수 없습니다. 그러나 원하는 값으로 새로운 색상을 만들 수 있습니다. 예를 들어,

   int oldValue = oldColor.getRGB();
   int newValue = (oldValue & 0xFFFFFF00) | (lsb & 0xFF);
   Color newColor = new Color(newValue);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top