Question

J'ai une valeur argb dans le paramètre d'une fonction et celle-ci doit se débarrasser des valeurs agb et ne conserver que le r. Comment feriez-vous cela? merci

Était-ce utile?

La solution

Cela se fait avec un décalage binaire et un bit ET.

La valeur dans un entier de 32 bits. Chacun des A, R, G, B occupe 8 de ses bits (un octet). Et ils apparaissent dans le même ordre que le nom l'indique A, R, G, B

Pour sortir b, il vous suffit de masquer tous les autres bits avec une instruction AND au niveau des bits.

a = argb & 255; Parce que 255 en binaire correspond à 11111111, il ne conserve que les bits nécessaires.

pour g, vous devez d’abord décaler les bits, puis procédez comme indiqué ci-dessus. g = argb > > 8 & 255

r est identique mais décalage 16 bits

r = argb > > 16 & 255

et un a = argb > > 24 & 255

L’espoir que cela aide

Autres conseils

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top