Выход из r-канала из argb-uint? - PullRequest
1 голос
/ 03 августа 2009

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

Ответы [ 2 ]

2 голосов
/ 03 августа 2009

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

2 голосов
/ 03 августа 2009

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

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

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

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

для g сначала нужно сдвинуть биты, а затем сделать выше. г = ARGB >> 8 & 255

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

г = ARGB >> 16 & 255

и а = ARGB >> 24 & 255

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

...