Palette thiết kế bằng HSL thường sẽ lên giấy. Bộ chuyển này lấy hue, saturation và lightness bạn chọn và trả về bốn phần trăm mực mà xưởng in dùng.
Cách chuyển HSL sang CMYK hoạt động
- Chuyển bộ HSL sang các kênh RGB giữa 0 và 255.
- Chuẩn hóa các kênh đó bằng cách chia cho 255.
- Tính thành phần key K = 1 − max(R, G, B).
- Suy ra C, M và Y từ các kênh còn lại và chuyển cả bốn giá trị sang phần trăm.
Ví dụ minh hoạ
Hai lần chuyển đổi xảy ra liên tiếp nên làm tròn sẽ xảy ra hai lần — và CMYK vẫn là xấp xỉ nếu không có profile màu. Mong đợi bản in hơi kém rực rỡ so với bản xem trước HSL.
HSL và CMYK giải thích
HSL là gì?
HSL tách màu thành hue (0–360° trên vòng màu), saturation (mức độ màu, 0–100%) và lightness (độ sáng, 0–100%). Vì từng phần khớp với cách người ta mô tả màu, HSL là định dạng dễ nhất để tạo tints, shades và palette nhất quán — bằng tay hoặc trong code.
- Cú pháp:
- hsl(H, S%, L%)
- Phạm vi:
- 0–360°, 0–100%, 0–100%
- Phù hợp cho:
- palette, tints và shades, theming
CMYK là gì?
CMYK là mô hình bốn mực dùng trong in: cyan, magenta, yellow và key (đen), mỗi màu dưới dạng phần trăm từ 0 đến 100. Mực hút bớt ánh sáng thay vì phát sáng, nên CMYK bao phủ ít màu hơn màn hình — đó là lý do các màu rực trên màn hình thường trông nhạt hơn khi in.
- Cú pháp:
- cmyk(C%, M%, Y%, K%)
- Phạm vi:
- 0–100% mỗi mực
- Phù hợp cho:
- in ấn, bao bì, artwork sẵn sàng cho máy in
Bảng tham chiếu HSL sang CMYK
Các màu CSS phổ biến nhất, đã chuyển từ HSL sang CMYK.
| Màu | HSL | CMYK |
|---|---|---|
| black | hsl(0, 0%, 0%) | cmyk(0%, 0%, 0%, 100%) |
| white | hsl(0, 0%, 100%) | cmyk(0%, 0%, 0%, 0%) |
| red | hsl(0, 100%, 50%) | cmyk(0%, 100%, 100%, 0%) |
| lime | hsl(120, 100%, 50%) | cmyk(100%, 0%, 100%, 0%) |
| blue | hsl(240, 100%, 50%) | cmyk(100%, 100%, 0%, 0%) |
| yellow | hsl(60, 100%, 50%) | cmyk(0%, 0%, 100%, 0%) |
| orange | hsl(39, 100%, 50%) | cmyk(0%, 35%, 100%, 0%) |
| teal | hsl(180, 100%, 25%) | cmyk(100%, 1%, 0%, 50%) |
| purple | hsl(300, 100%, 25%) | cmyk(0%, 100%, 1%, 50%) |
| gray | hsl(0, 0%, 50%) | cmyk(0%, 0%, 0%, 50%) |