# RGB

RGB é a abreviatura de um sistema de cores aditivas em que o Vermelho (Red), o Verde (Green) e o Azul (Blue) são combinados de várias formas de modo a reproduzir um largo espectro cromático. O propósito principal do sistema RGB é a reprodução de cores em dispositivos eletrônicos como monitores de TV e computador, retroprojetores, scanners e câmeras digitais, assim como na fotografia tradicional. Em contraposição, impressoras utilizam o modelo CMYK de cores subtrativas.
O modelo de cores RGB é baseado na teoria de visão colorida tricromática, de Young-Helmholtz, e no triângulo de cores de Maxwell. O uso do modelo RGB como padrão para apresentação de cores na Internet tem suas raízes nos padrões de cores de televisões RCA de 1953 e no uso do padrão RGB nas câmeras Land/Polaroid, pós Edwin Land.

## Funcionamento

Modelos aditivos cromáticos são combinados de várias maneiras para reproduzir outras cores. O nome deste modelo e a abreviação RGB vêm das três cores primárias aditivas: vermelho, verde e azul (Red, Green, e Blue, em inglês), e só foi possível devido ao desenvolvimento tecnológico de tubos de raios catódicos – com os quais foi possível fazer o display de cores ao invés de uma fosforescência.
Estas três cores não devem ser confundidas com os pigmentos primários Ciano, Magenta e Amarelo, conhecidos no mundo das artes como “cores primárias”, já que se combinam baseadas na reflexão e absorção de fótons visto que o RGB depende da emissão de fótons de um componente excitado a um estado de energia mais elevado (fonte emissora, por exemplo, o tubo de raios catódicos).
O modelo de cores RGB, por si só, não define o que significa “vermelho”, “verde” ou “azul” (espectroscopicamente), e então os resultados de misturá-los não são tão exatos (e sim relativos, na média da percepção do olho humano).
O termo RGBA é também usado, significando Red, Green, Blue, e Alpha. Este não é um modelo de cores diferente, e sim uma representação – uma vez que o Alpha é usado para indicar transparência. Em modelos de representação de cores de satélite, por exemplo, o Alpha pode representar o efeito de turbidez ocasionado pela atmosfera - deixando as cores com padrões mais opacos do que seria a realidade.

## O sistema RGB e os ecrãs/as telas do computador

Uma aplicação comum do modelo de cores RGB é o ecrã/tela do computador ou display ou na televisão a cores em um tubo de raios catódicos, de cristal líquido ou de plasma, como televisões ou monitores de computador. Cada pixel na tela pode ser representado no computador ou na interface do hardware (por exemplo, uma “placa de gráficos”) como valores para vermelho, verde e azul. Esses valores são convertidos em intensidades ou voltagens via correção-gama, para que as intensidades procuradas sejam reproduzidas nos displays com fidelidade.
Por usar uma combinação apropriada para as intensidades de vermelho (red), verde (green) e azul (blue), muitas outras cores podem ser representadas. Um adaptador de display típico do ano de 2007 utiliza até 24 bits de informação para cada pixel. Geralmente, a partição é de 8 bits para cada uma das cores (vermelho, verde e azul), dando um alcance de 256 possíveis valores, ou intensidades, para cada tom. Com este sistema, mais de 16 milhões (16.777.216 ou 256³) diferentes combinações de tons, saturação e brilho podem ser especificados, mesmo que não sejam facilmente distinguidos.

## Representação numérica

| amostra cor | amostra cor | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB | RGB |
| amostra cor | amostra cor | Gama 0-1 | Gama 0-1 | Gama 0-1 | Gama 0-255 | Gama 0-255 | Gama 0-255 | Gama 0-255 | Gama 0-255 | Gama 0-255 | Gama 0-255 |
| amostra cor | amostra cor | Gama 0-1 | Gama 0-1 | Gama 0-1 | decimal | decimal | decimal | hexadecimal | hexadecimal | hexadecimal | hexadecimal |
| amostra cor | amostra cor | R | G | B | R | G | B | R | G | B | concatenado |
| | Branco | 1 | 1 | 1 | 255 | 255 | 255 | FF | FF | FF | #FFFFFF |
| | Amarelo | 1 | 1 | 0 | 255 | 255 | 000 | FF | FF | 00 | #FFFF00 |
| | Magenta | 1 | 0 | 1 | 255 | 000 | 255 | FF | 00 | FF | #FF00FF |
| | Vermelho | 1 | 0 | 0 | 255 | 000 | 000 | FF | 00 | 00 | #FF0000 |
| | Ciano | 0 | 1 | 1 | 000 | 255 | 255 | 00 | FF | FF | #00FFFF |
| | Verde | 0 | 1 | 0 | 000 | 255 | 000 | 00 | FF | 00 | #00FF00 |
| | Azul | 0 | 0 | 1 | 000 | 000 | 255 | 00 | 00 | FF | #0000FF |
| | Preto | 0 | 0 | 0 | 000 | 000 | 000 | 00 | 00 | 00 | #000000 |
Uma cor no modelo de cores RGB pode ser descrita pela indicação da quantidade de vermelho, verde, e azul que contém. Cada uma pode variar entre o mínimo (completamente escuro) e máximo (completamente intenso). Quando todas as cores estão no mínimo, o resultado é preto. Se todas estão no máximo, o resultado é branco. Se todos os valores forem iguais ou muito próximos, a resultante é cinzento; à medida que um dos valores se afastar dos outros dois a cor resultante será um tom progressivamente mais “viva” e menos “pastel”.

### Gama 0-255

Uma das representações mais usuais para as cores é a utilização da escala de 0 a 255, frequentemente encontrada em computação pela conveniência de se guardar cada valor em 1 byte (8 bits). Daí que se usem nesta notação apenas valores discretos, com uma granularidade que, no entanto, é muito inferior à acuidade visual humana — já que 256$^3$ é superior a dezesseis milhões de combinações, cada uma identificando uma cor.
Estes três valores são habitualmente apresentados em números decimais ou em números hexadecimais (e, neste caso, habitualmente identificados como tais por via do prefixo "#"). Sendo esta última base um submúltiplo de 256, a notação com dois algarismos para cada componente resulta numa sequência alfanumérica de comprimento fixo =6, facilmente sequenciável e por isso usual em programas de edição de imagem. Vai assim de 00 (mais escuro, =0) até FF (mais claro, =255).
Algumas sintaxes específicas (p.ex., CSS) admitem, por abreviatura, strings de três caracteres interpretando-as pela duplicação de cada um — p.ex.: #FC3 resulta em #FFCC33 e não em #FC3000 .

### Gama 0-1

Outro sistema adoptado, absolutamente equivalente, usa valores de 0 a 1 para cada uma das três componentes, com valores decimais de precisão variável — e portanto “permitindo” um número ilimitado de valores. Estes podem ser expressos em percentagem (com conversão trivial), e os tripletos representando cada cor podem ser equacionados como vectores tridimensionais (com [R,G,B]≡[x,y,z], habitualmente), simplificando a sua manipulação matemática. Algumas linguagens de formatação e de programação usam esta notação (p.ex., LSL) e outras suportam-na como equivalente à gama 0-255 decimal ou hexadecimal (p.ex., CSS).