Вывод r-канала из argb-uint?
-
10-07-2019 - |
Вопрос
у меня есть значение 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 р>