Question

Y at-il une méthode pour changer la valeur LSB des java.awt.Color composants RGB?

Était-ce utile?

La solution

Mise un peu:

int value = someValue | 0x1;

Mise un peu hors:

int value = someValue & (~0x1);

modification du bit ou désactiver si elle était éteinte ou avant:

int value = someValue ^ 0x1;

En d'autres termes: someValue est binaire avec un OU logique avec le nombre de bit de poids faible de sorte que le nombre résultant aura son LSB trop.

someValue est avec un nombre associés par tous les bits avec sauf sur LSB de sorte que le nombre résultant aura LSB OFF.

someValue est avec un OU Exclusif nombre avec le bit de poids faible, donc le nombre résultant aura son bit de poids faible basculée.

Autres conseils

La classe Color est immuable, vous ne pouvez pas changer quoi que ce soit. Cependant, vous pouvez créer une nouvelle couleur avec valeur de votre choix. Par exemple,

   int oldValue = oldColor.getRGB();
   int newValue = (oldValue & 0xFFFFFF00) | (lsb & 0xFF);
   Color newColor = new Color(newValue);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top