Saltar para o conteúdo

Tripleto hexadecimal

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Web colors)

Tripleto hexadecimal ou web colors são cores usadas na exibição de páginas da web na World Wide Web; elas podem ser descritas de três maneiras: uma cor pode ser especificada como um triplete RGB, em formato hexadecimal (um triplete hexadecimal), ou de acordo com seu nome comum em inglês, em alguns casos. Uma ferramenta de cores ou outro software gráfico é frequentemente utilizado para gerar os valores de cor. Em alguns usos, os códigos de cor hexadecimal são especificados com uma notação utilizando um sinal numérico (#) no início.[1][2] Uma cor é especificada de acordo com a intensidade de seus componentes vermelho, verde e azul, cada um representado por oito bits. Assim, são usados 24 bits para especificar uma web color dentro do gamut sRGB, e 16.777.216 cores podem ser especificadas dessa maneira.

Cores fora do gamut sRGB podem ser especificadas em Cascading Style Sheets tornando um ou mais dos componentes vermelho, verde ou azul negativos ou superiores a 100%, de forma que o espaço de cor seja teoricamente uma extrapolação ilimitada do sRGB, semelhante ao scRGB.[3] Especificar uma cor fora do sRGB dessa forma requer o uso da função RGB(). Isso é impossível com a sintaxe hexadecimal (e, portanto, impossível em documentos HTML legados que não utilizam CSS).

As primeiras versões do Mosaic e do Netscape Navigator usavam os nomes de cores do X11 como base para suas listas de cores, já que ambos começaram como aplicações do X Window System. Web colors têm uma definição colorimétrica inequívoca, o sRGB, que relaciona as cromaticidades de um determinado conjunto de fósforos, uma curva de transferência específica, ponto branco adaptativo e condições de visualização.[4] Esses elementos foram escolhidos para serem semelhantes a muitos monitores e condições de visualização do mundo real, permitindo uma renderização razoavelmente próxima aos valores especificados mesmo sem gerenciamento de cores. Os agentes do usuário variam na fidelidade com que representam as cores especificadas. Agentes do usuário mais avançados utilizam gerenciamento de cores para proporcionar melhor fidelidade de cor; isso é particularmente importante para aplicações da Web voltadas à impressão.

Tripleto hexadecimal

[editar | editar código-fonte]

Um tripleto hexadecimal é um número hexadecimal de seis (ou oito) dígitos e três (ou quatro) bytes, utilizado em HTML, CSS, SVG e outras aplicações de computação para representar cores. Os bytes representam os componentes vermelho, verde e azul da cor. O quarto byte, opcional, refere-se ao canal alfa (alpha channel). Um byte representa um número na faixa de 00 a FF (em notação hexadecimal), ou de 0 a 255 em notação decimal. Isso representa a menor (0) até a maior (255) intensidade de cada componente da cor. Assim, web colors especificam cores no esquema de cores RGB de 24 bits. O hex triplet é formado pela concatenação de três bytes em notação hexadecimal, na seguinte ordem:

  • Byte 1: valor do vermelho (componente red)
  • Byte 2: valor do verde (componente green)
  • Byte 3: valor do azul (componente blue)
  • Byte 4 (opcional): valor alfa (alpha)

Por exemplo, considere uma cor cujos valores vermelho/verde/azul são: vermelho = 123, verde = 58, azul = 30 (um tom de marrom amadeirado). Os valores decimais 123, 58 e 30 equivalem, respectivamente, aos hexadecimais 7B, 3A e 1E. O hex triplet é obtido ao concatenar esses seis dígitos hexadecimais: 7B3A1E.

Se qualquer um dos três valores de cor for menor que 10 em hexadecimal (16 em decimal), ele deve ser representado com um zero à esquerda, de modo que o hex triplet tenha sempre exatamente seis dígitos. Por exemplo, o triplete decimal 4, 8, 16 será representado pelos dígitos hexadecimais 04, 08 e 10, formando o hex triplet 040810.

O número total de cores que podem ser representadas por esse sistema é 256³, ou seja, 16.777.216 (2²⁴).

Forma hexadecimal abreviada (shorthand)

[editar | editar código-fonte]

Uma forma abreviada, com três ou quatro dígitos hexadecimais, pode ser utilizada,[5] mas pode causar erros se o software ou os scripts de manutenção esperarem apenas a forma completa. Expandir essa forma para a forma de seis dígitos é simples: basta repetir cada dígito. Por exemplo, #09C se torna #0099CC, como apresentado neste exemplo em CSS:

.threedigit { color: #09C; }
.sixdigit   { color: #0099CC; } /* mesma cor que acima */

Essa forma reduzida limita a paleta para 4.096 cores, o equivalente a uma profundidade de cor de 12 bits, em comparação aos 24 bits da forma completa (16.777.216 cores). Essa limitação é suficiente para muitos documentos baseados em texto.

Convertendo RGB para hexadecimal

[editar | editar código-fonte]

Os valores RGB geralmente são fornecidos na faixa de 0 a 255; se estiverem na faixa de 0 a 1, os valores são multiplicados por 255 antes da conversão. Esse número, dividido por 16 (divisão inteira, desconsiderando o resto), fornece o primeiro dígito hexadecimal (de 0 a F, onde as letras A a F representam os números de 10 a 15 — veja mais em "hexadecimal"). O resto da divisão fornece o segundo dígito hexadecimal. Por exemplo, o valor RGB 58 (como mostrado no exemplo anterior) dividido por 16 resulta em 3 grupos de 16, e o resto é 10, o que gera o número hexadecimal 3A. Da mesma forma, o valor RGB 201 dividido por 16 resulta em 12 grupos de 16 e resto 9, gerando o hexadecimal C9. Esse processo se repete para cada um dos três valores de cor.

A conversão entre bases numéricas é um recurso comum de calculadoras, tanto dos modelos físicos quanto das calculadoras de software incluídas na maioria dos sistemas operacionais modernos. Também há ferramentas online específicas para converter valores de cor.

HTML color names

[editar | editar código-fonte]

Especificações recentes do W3C sobre nomes de cores distinguem entre basic e extended colors.[6] Em HTML e XHTML, as cores podem ser utilizadas para texto, cor de fundo, bordas de quadros, tabelas e células individuais de tabela.[7]

As basic colors são 16 cores definidas na especificação HTML 4.01, ratificada em 1999,[8] conforme a seguir (os nomes são definidos, neste contexto, como insensíveis a maiúsculas e minúsculas):

Nomes de cores do CSS 1–2.0, HTML 3.2–4 e VGA
Nome Tripleto Hex Red Green Blue Matiz Satur Luz Satur Valor Número CGA (nome); alias
Branco #FFFFFF 100% 100% 100% &-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.000000 0% 100% 0% 100% 15 (white)
Prata #C0C0C0 75% 75% 75% &-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.000000 0% 75% 0% 75% 07 (light gray)
Cinza #808080 50% 50% 50% &-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.000000 0% 50% 0% 50% 08 (dark gray)
Preto #000000 0% 0% 0% &-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.000000 0% 0% 0% 0% 00 (black)
Vermelho #FF0000 100% 0% 0% &-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.000000 100% 50% 100% 100% 12 (high red)
Bordô #800000 50% 0% 0% &-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.000000 100% 25% 100% 50% 04 (low red)
Amarelo #FFFF00 100% 100% 0% &0000000000000060.00000060° 100% 50% 100% 100% 14 (yellow)
Oliva #808000 50% 50% 0% &0000000000000060.00000060° 100% 25% 100% 50% 06 (brown)
Lima #00FF00 0% 100% 0% &0000000000000120.000000120° 100% 50% 100% 100% 10 (high green); green
Verde #008000 0% 50% 0% &0000000000000120.000000120° 100% 25% 100% 50% 02 (low green)
Água #00FFFF 0% 100% 100% &0000000000000180.000000180° 100% 50% 100% 100% 11 (high cyan); cyan
Verde-azulado #008080 0% 50% 50% &0000000000000180.000000180° 100% 25% 100% 50% 03 (low cyan)
Azul #0000FF 0% 0% 100% &0000000000000240.000000240° 100% 50% 100% 100% 09 (high blue)
Azul-marinho #000080 0% 0% 50% &0000000000000240.000000240° 100% 25% 100% 50% 01 (low blue)
Fúcsia #FF00FF 100% 0% 100% &0000000000000300.000000300° 100% 50% 100% 100% 13 (high magenta); magenta
Roxo #800080 50% 0% 50% &0000000000000300.000000300° 100% 25% 100% 50% 05 (low magenta)

Essas 16 cores foram rotuladas como sRGB e incluídas na especificação HTML 3.0, que observava que eram "as 16 cores padrão suportadas pela paleta VGA do Windows."[9]

Referências

  1. Niederst Robbins, Jennifer (Fevereiro de 2006). «Appendix D: Specifying Color». Web Design in a Nutshell. [S.l.]: O'Reilly. p. 830. ISBN 978-0-596-00987-8 
  2. York, Richard. Beginning CSS, pp. 71–72.
  3. Pemberton, Steven; Pettit, Brad (7 de junho de 2011). Çelik, Tantek; Lilley, Chris; Baron, L. David, eds. «CSS Color Module Level 3». W3C. section 4.2.1. RGB color values 
  4. Sharma, Gaurav; Bala, Raja (19 de dezembro de 2017). Digital Color Imaging Handbook (em inglês). [S.l.]: CRC Press. ISBN 978-1-4200-4148-4 
  5. Pemberton, Steven; Pettit, Brad (7 de junho de 2011). Çelik, Tantek; Lilley, Chris; Baron, L. David, eds. «4.2.1. RGB color values». CSS Color Module Level 3. W3C. Consultado em 19 de março de 2013 
  6. «CSS Color Module Level 3». W3c. Consultado em 19 de julho de 2020 
  7. Powell, Thomas A. (2010). HTML & CSS: The Complete Reference, Fifth Edition. Nova York: McGraw-Hill. p. 765. ISBN 9780071741705 
  8. «HTML 4.01 Specification | Basic HTML data types | Colors». W3C. Consultado em 8 de julho de 2013 
  9. Raggett, Dave. «HTML 3.2 Reference Specification | The BODY element». W3C. Consultado em 8 de julho de 2013