Como converter HEX para RGB: Guia completo para desenvolvedores e designers
No mundo do web design e do desenvolvimento de software, o gerenciamento de cores é uma tarefa fundamental. Os dois sistemas de representação de cores mais comuns são o HEX (Hexadecimal) e o RGB (Red, Green, Blue). Embora ambos possam representar as mesmas cores, cada um tem suas próprias vantagens e contextos de uso preferidos. Neste guia, exploraremos em profundidade como funciona a conversão de HEX para RGB e por que ela é essencial para qualquer profissional digital.
O que é o código HEX?
O código HEX é uma representação hexadecimal de uma cor no modelo RGB. Ele é composto por um sinal de cardinal (#) seguido por seis caracteres alfanuméricos (0-9 e A-F). Cada par de caracteres representa a intensidade de uma das três cores primárias da luz:
- Os dois primeiros caracteres correspondem ao Vermelho (R).
- Os dois caracteres centrais correspondem ao Verde (G).
- Os dois últimos caracteres correspondem ao Azul (B).
Por exemplo, #FF5733 representa um tom de laranja vibrante.
O que é o valor RGB?
O RGB é um modelo de cor aditivo no qual a luz vermelha, verde e azul é combinada em diferentes proporções para criar uma ampla gama de cores. Ao contrário do HEX, o RGB utiliza valores decimais que variam de 0 a 255 para cada canal.
A representação comum é rgb(r, g, b). Por exemplo, o equivalente RGB de #FF5733 é rgb(255, 87, 51).
Por que converter HEX para RGB?
Embora o HEX seja muito popular no CSS pela sua brevidade, existem situações em que o RGB (especialmente o RGBA) é superior:
- Opacidade (Canal Alpha): Com o RGB, você pode usar
rgba(r, g, b, a)para adicionar transparência facilmente. Embora o CSS moderno suporte HEX com transparência (#RRGGBBAA), o RGB continua sendo mais legível para muitos desenvolvedores. - Manipulação Dinâmica: Se você estiver trabalhando com JavaScript para alterar cores dinamicamente com base em cálculos matemáticos, trabalhar com valores decimais de 0 a 255 é muito mais simples do que realizar operações com strings hexadecimais.
- Compatibilidade com Software: Alguns programas de edição gráfica ou bibliotecas de processamento de imagens exigem especificamente valores RGB.
Como realizar a conversão de HEX para RGB
A conversão baseia-se na transformação de números de base 16 (hexadecimal) para base 10 (decimal).
O processo matemático
- Pegue o par hexadecimal de cada canal (R, G, B).
- Converta o primeiro caractere para decimal e multiplique por 16.
- Converta o segundo caractere para decimal e some ao resultado anterior.
Exemplo com #4287f5:
- Vermelho (42): (4 * 16) + 2 = 64 + 2 = 66
- Verde (87): (8 * 16) + 7 = 128 + 7 = 135
- Azul (f5): (15 * 16) + 5 = 240 + 5 = 245
Resultado: rgb(66, 135, 245)
Exemplos de código para a conversão
JavaScript
function hexToRgb(hex) {
// Remover o # se existir
hex = hex.replace(/^#/, '');
// Lidar com formatos de 3 caracteres (#ABC -> #AABBCC)
if (hex.length === 3) {
hex = hex.split('').map(char => char + char).join('');
}
const r = parseInt(hex.substring(0, 2), 16);
const g = parseInt(hex.substring(2, 4), 16);
const b = parseInt(hex.substring(4, 6), 16);
return `rgb(${r}, ${g}, ${b})`;
}
console.log(hexToRgb("#FF5733")); // "rgb(255, 87, 51)"
Python
def hex_to_rgb(hex_code):
hex_code = hex_code.lstrip('#')
return tuple(int(hex_code[i:i+2], 16) for i in (0, 2, 4))
print(hex_to_rgb("#FF5733")) # (255, 87, 51)
Tabela de cores comuns e suas conversões
| Nome da Cor | HEX | RGB |
|---|---|---|
| Branco | #FFFFFF | rgb(255, 255, 255) |
| Preto | #000000 | rgb(0, 0, 0) |
| Vermelho Puro | #FF0000 | rgb(255, 0, 0) |
| Verde Lima | #00FF00 | rgb(0, 255, 0) |
| Azul Elétrico | #0000FF | rgb(0, 0, 255) |
| Cinza | #808080 | rgb(128, 128, 128) |
Perguntas frequentes (FAQ)
O que acontece com os códigos HEX de 3 dígitos?
Os códigos de 3 dígitos como #F00 são uma forma abreviada. O navegador expande-os duplicando cada dígito: #F00 torna-se #FF0000. O nosso conversor online lida com ambos os formatos automaticamente.
Posso adicionar transparência a um código HEX?
Sim, no CSS moderno pode adicionar dois dígitos adicionais ao final (formato #RRGGBBAA). Por exemplo, #FF573380 seria a cor com 50% de opacidade. No entanto, convertê-la para rgba(255, 87, 51, 0.5) costuma ser mais intuitivo para o controlo de transparência.
Por que a minha cor convertida parece diferente em dispositivos diferentes?
Isto deve-se geralmente à calibração do monitor e aos espaços de cor (como sRGB vs Adobe RGB). Embora os valores matemáticos da conversão sejam exatos, a representação física depende do hardware.
Conclusão
Dominar a conversão entre HEX e RGB é uma competência básica, mas poderosa, para qualquer desenvolvedor web. Quer esteja a configurar estilos CSS, a manipular cores com scripts ou a desenhar interfaces, compreender estes sistemas permite-lhe ter um controlo total sobre a estética dos seus projetos.
Para uma conversão instantânea e sem erros, recomendamos que utilize a nossa ferramenta Color Converter no Tool3M.