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

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top