Cores em um computador

Como trabalham os computadores para codificar uma cor. O formato RGB.

Por Luciano Moreno


Publicado em: 20/3/07
Valorize este artigo:
O olho humano pode distinguir aproximadamente entre 7 e 10 milhões de cores. Devido a isto a vista é para nós o principal sentido que nos une com o exterior, de tal forma que sobre 80% da informação que recebemos do mundo exterior é visual.

Pintores e designers gráficos utilizam esta capacidade humana de apreciar cores para criar obras que aprofundem na alma e que inspirem sentimentos nos seres que as contemplam. Porém, o que podemos fazer quando devemos nos expressar com um número limitado de cores?

Os computadores trabalham com três cores básicas, a partir das quais constroem todas as demais, mediante um processo de mistura por unidades de ecrã, denominadas pixels. Estas cores são o vermelho, o azul e o verde, e o sistema definido é conhecido como sistema RGB (Red, Green, Blue).

Cada pixel tem reservada uma posição na memória do computador para armazenar a informação sobre a cor que deve apresentar. Os bits de profundidade de cor marcam quantos bits de informação dispomos para armazenar o número da cor associada segundo a paleta usada. Com esta informação, o cartão gráfico do computador gera uns sinais de voltagem adequados para representar a correspondente cor no monitor.

Quanto mais bits por pixel, maior número de variações de uma cor primária podemos ter. Para 256 cores precisam-se 8 bits (sistema básico), para obter milhares de cores necessitamos 16 bits (cor de alta densidade) e para obter milhões de cores falta 24 bits (cor verdadeira). Existe também outra profundidade de cor, 32 bits, porém com ela não se conseguem mais cores, e sim que as que usarmos se mostrarão mais rápido, já que para o processador é mais fácil trabalhar com registros que sejam potência de 2 (lembremos que trabalha com números binários).

Profundidades de cor

Quanto maior for o número de cores, maior será a quantidade de memória necessária para armazená-los e maiores os recursos necessários para processa-los. Por este motivo, os computadores antigos dispõem de paletas de poucas cores, normalmente 256, por não ter capacidade para manejar mais sem uma perda notável de prestações.

Para representar uma cor no sistema RGB utilizam-se duas formas de codificação diferentes, a decimal e a hexadecimal, correspondendo-se os diferentes valores com a porcentagem de cada cor básica que tem uma cor determinada.

Porcentagens de cor e códigos
Porcentagens de cor e códigos

Por exemplo, um vermelho puro (100% de vermelho, 0% de verde e 0% de azul) se expressaria como (255,0,0) em decimal, e como #FF0000 em hexadecimal (antes do código de uma cor em hexadecimal sempre situa-se um símbolo almofadinha).

Das 256 cores básicas, o próprio sistema operacional fica com 40 para sua gestão interna, com o qual dispomos de 216 cores. Delas, 18 correspondem-se com as gamas das cores primárias, correspondentes a 6 tons de vermelho, 6 de azul e 6 de verde:

Gamas de cores primários
Gamas de cores primárias

E o resto, as cores secundárias, são combinações destas gamas de cores primárias:

Cores secundárias
Cores secundárias

Se usamos uma profundidade de cor de 24 bits, correspondente a milhões de cores, dispomos de uma ampla gama para trabalhar, porém sempre tendo em conta que só serão compatíveis as cores que tiverem sua equivalente no sistema de 256 cores, ou seja, aquelas nas que cada cor primária vem definida por uma dupla de valores iguais, devendo estas ser 00,33,66,99,CC ou FF.

Quando usamos uma profundidade de cor de 16 bits dispomos de milhares de cores, porém o problema é que devido à divisão desta gama de cores, os valores obtidos não se correspondem com os equivalentes em 256 cores nem em milhões de cores. Por exemplo, #663399 é a mesma cor que 256 e que milhões, mas não é igual que o obtido com milhares de cores.

Como o código de uma cor dada pode ser difícil de lembrar, foi adotada uma lista de cores as quais foi colocado um nome representativo no idioma inglês (red, yellow, olive, etc.), de tal forma que os navegadores modernos interpretam a mesma e a traduzem internamente por seu valor hexadecimal equivalente.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato