Formula de separação de canais rgb

Alguém se lembra quais são as formulas para extrair canais rgb de uma determinada cor?

Como está codificada sua cor? Se estiver numa instância da classe Color, é só usar os métodos getRed(), getGreen() e getBlue().

http://www.easyrgb.com/index.php?X=MATH

Não to usando java e sim flex… quero as formulas genéricas para qualquer linguagem… independente de métodos.

bastante util… porem a formula que eu precisava é para extrair o verde… por exemplo: 0xFF4523
isto me da o vermelhor: 0xFF4523 << 16
isto me da o azul: 0xFF4523 >> 16
isto me da o amarelo: 0xFF4523 << 8
e o verde como eu consigo?

a algum tempo atras eu sabia… porem agora não me lembro mais…
acho que vc tem isto fresco ainda né Vini?!

Supondo que seu padrão é o ARGB, e que cada canal de cor tem 8 bits, o verde estaria no 3º byte (24º bit).

Logo:

int g = cor & 0x0000FF; g << 16;

Os dois primeiros 0s são alpha, os dois 0s seguintes o R. Como cada 0 equivale a 4 bits, tivemos que puxar o valor de G 16 bits para o começo. :wink:

[quote=ViniGodoy]Supondo que seu padrão é o ARGB, e que cada canal de cor tem 8 bits, o verde estaria no 3º byte (24º bit).

Logo:

int g = cor & 0x0000FF; g << 16;

Os dois primeiros 0s são alpha, os dois 0s seguintes o R. Como cada 0 equivale a 4 bits, tivemos que puxar o valor de G 16 bits para o começo. ;)[/quote]

Vlw… e disso que precisava… no meu caso que é RGB invéz de ARGB troquei o 16 por 8 e deu certinho… vlw Vini…