Sair do r-canal a partir de um ARGB-uint?
-
10-07-2019 - |
Pergunta
i tem um valor de ARGB no parâmetro de uma função e as necessidades de função para se livrar dos valores AGB e só manter a r. Como você faria isso? obrigado
Solução
Isso é feito com deslocamento bit a bit e bit a bit AND.
O uint em um inteiro de 32 bits. Cada um de A, R, G, B converte-se oito dos seus bits (um byte). E eles aparecem eu mesma ordem como o nome implica A, R, G, B
Para sair b você só precisa mascarar todos os outros bits com um bit a bit E comunicado.
a = ARGB & 255 porque 255 em binário é 11111111, só mantém os bits necessários.
para g primeiro você precisa mudar os bits, em seguida, fazer o descrito acima. g = ARGB >> 8 & 255
r é o mesmo, mas mudança de 16 bits
r = ARGB >> 16 e 255
e a = ARGB >> 24 e 255
Espero que ajude
Outras dicas
aqui está mais informações sobre ele: http://www.adobe.com/devnet/flash/articles/bitwise_operators_print. html