Вопрос

у меня есть значение argb в параметре функции, и функции нужно избавиться от значений agb и сохранить только r.Как бы вы это сделали?спасибо вам

Это было полезно?

Решение

Это делается с помощью побитового сдвига и побитового И.

Значение uint в виде 32-битного целого числа.Каждый из A, R, G, B занимает 8 своих битов (один байт).И они появляются в том же порядке, что и следует из названия A, R, G, B

Чтобы получить b, вам просто нужно замаскировать все остальные биты с помощью побитового оператора AND .

a=argb&255 поскольку 255 в двоичном формате равно 11111111, он сохраняет только необходимые биты.

для g вам сначала нужно сдвинуть биты, затем проделать описанное выше действие.g=argb>>8 и255

r такой же, но со сдвигом на 16 бит

r=argb>> 16 и255

и a a=argb>>24 и255

Надеюсь, это поможет

Другие советы

вот больше информации об этом: http://www.adobe.com/devnet/flash/articles/bitwise_operators_print. HTML

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top