Uscire dal canale r da un argb-uint?
-
10-07-2019 - |
Domanda
Ho un valore argb nel parametro di una funzione e la funzione deve sbarazzarsi dei valori agb e mantenere solo r. Come lo faresti? ringraziamento
Soluzione
Ciò viene fatto con lo spostamento bit a bit e AND bit a bit
L'uint in un numero intero a 32 bit. Ciascuno di A, R, G, B occupa 8 dei suoi bit (un byte). E appaiono nello stesso ordine in cui il nome implica A, R, G, B
Per uscire b devi solo mascherare tutti gli altri bit con un'istruzione AND bit a bit.
a = argb & amp; 255 poiché 255 in binario è 11111111, mantiene solo i bit necessari.
per g devi prima spostare i bit e poi fare quanto sopra. g = argb > > 8 & amp; 255
r è lo stesso ma sposta 16 bit
r = argb > > 16 & amp; 255
e a a = argb > > 24 & amp; 255
Spero che aiuti
Altri suggerimenti
ecco ulteriori informazioni su di esso: http://www.adobe.com/devnet/flash/articles/bitwise_operators_print. html