Pregunta

Tengo un valor argb en el parámetro de una función y la función necesita deshacerse de los valores agb y solo mantener la r. ¿Cómo lo harías tú? gracias

¿Fue útil?

Solución

Eso se hace con desplazamiento bit a bit y AND bit a bit.

El uint en un entero de 32 bits. Cada uno de los A, R, G, B ocupa 8 de sus bits (un byte). Y aparecen en el mismo orden que el nombre implica A, R, G, B

Para salir b solo necesitas enmascarar todos los demás bits con una declaración AND bit a bit.

a = argb & amp; 255 porque 255 en binario es 11111111, solo mantiene los bits necesarios.

para g primero necesita cambiar los bits y luego hacer lo anterior. g = argb > > 8 & amp; 255

r es igual pero cambia 16 bits

r = argb > > 16 & amp; 255

y a a = argb > > 24 & amp; 255

Espero que ayude

Otros consejos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top