Sortir le canal R d'un argb-uint?
-
10-07-2019 - |
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
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
voici plus d'informations à ce sujet: http://www.adobe.com/devnet/flash/articles/bitwise_operators_print. html