Pergunta

Existe um método para alterar o valor LSB de componentes Java.awt.color rgb?

Foi útil?

Solução

Ligando um pouco:

int value = someValue | 0x1;

Deslocando um pouco:

int value = someValue & (~0x1);

Atingindo ou desativando a parte ou desativada se estivesse desligado ou antes:

int value = someValue ^ 0x1;

Em outras palavras: algum valor é binário ou com um número com o LSB, para que o número resultante também tenha seu LSB.

Algum valor é e é usado com um número com todos os bits exceto LSB para que o número resultante terá LSB desativado.

Alguns valores são XORSed com um número com o LSB ON, portanto o número resultante terá seu LSB alterado.

Outras dicas

A classe de cores é imutável, você não pode mudar nada. No entanto, você pode criar uma nova cor com qualquer valor desejado. Por exemplo,

   int oldValue = oldColor.getRGB();
   int newValue = (oldValue & 0xFFFFFF00) | (lsb & 0xFF);
   Color newColor = new Color(newValue);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top