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

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top