Levar uma paleta de impressão para a web é mais fácil em HSL: uma vez que a mistura de tinta está expressa como hue, saturation e lightness, você pode criar estados de hover, tons e matizes em segundos.
Como funciona a conversão de CMYK para HSL
- Converta as percentagens CMYK para canais RGB entre 0 e 255.
- Divida os canais por 255 e obtenha seu máximo e mínimo.
- A média entre máximo e mínimo é a lightness L; seu espaçamento determina a saturation S.
- O canal que contém o máximo determina o hue H em graus na roda de cores.
Exemplo prático
A etapa CMYK para RGB já é uma aproximação e os valores HSL são arredondados para inteiros. O resultado é uma correspondência muito próxima, não uma conversão gerida por cores.
CMYK e HSL explicados
O que é CMYK?
CMYK é o modelo de quatro tintas usado na impressão: ciano, magenta, amarelo e key (preto), cada um como percentagem de 0 a 100. A tinta subtrai luz em vez de a emitir, por isso o CMYK cobre menos cores que um ecrã — o que explica porque cores vibrantes do ecrã muitas vezes parecem mais baças quando impressas.
- Sintaxe:
- cmyk(C%, M%, Y%, K%)
- Intervalo:
- 0–100% por tinta
- Melhor para:
- impressão, packaging, arte pronta para impressão
O que é HSL?
HSL divide uma cor em matiz (0–360° na roda de cores), saturação (quão colorida, 0–100%) e luminosidade (quão clara, 0–100%). Como cada parte corresponde à forma como as pessoas descrevem cor, HSL é o formato mais fácil para criar tons, sombras e paletas consistentes — manualmente ou em código.
- Sintaxe:
- hsl(H, S%, L%)
- Intervalo:
- 0–360°, 0–100%, 0–100%
- Melhor para:
- paletas, tons e sombras, theming
Tabela de referência CMYK para HSL
As cores CSS mais comuns, convertidas de CMYK para HSL.
| Cor | CMYK | HSL |
|---|---|---|
| black | cmyk(0%, 0%, 0%, 100%) | hsl(0, 0%, 0%) |
| white | cmyk(0%, 0%, 0%, 0%) | hsl(0, 0%, 100%) |
| red | cmyk(0%, 100%, 100%, 0%) | hsl(0, 100%, 50%) |
| lime | cmyk(100%, 0%, 100%, 0%) | hsl(120, 100%, 50%) |
| blue | cmyk(100%, 100%, 0%, 0%) | hsl(240, 100%, 50%) |
| yellow | cmyk(0%, 0%, 100%, 0%) | hsl(60, 100%, 50%) |
| orange | cmyk(0%, 35%, 100%, 0%) | hsl(39, 100%, 50%) |
| teal | cmyk(100%, 0%, 0%, 50%) | hsl(180, 100%, 25%) |
| purple | cmyk(0%, 100%, 0%, 50%) | hsl(300, 100%, 25%) |
| gray | cmyk(0%, 0%, 0%, 50%) | hsl(0, 0%, 50%) |