Công cụ chuyển HSL sang RGB là gì?
Công cụ này chuyển một màu được biểu diễn theo mô hình HSL — Hue (tông màu), Saturation (độ bão hòa) và Lightness (độ sáng) — sang mô hình RGB dùng trên màn hình, trong CSS và các tệp ảnh. HSL rất trực quan với dân thiết kế vì nó tách riêng "màu sắc" (hue) khỏi mức độ rực rỡ (saturation) và độ sáng (lightness), trong khi RGB lại mô tả cùng một màu đó bằng lượng ánh sáng đỏ, xanh lá và xanh dương. Phép chuyển đổi cho kết quả chính xác và áp dụng được cho mọi giá trị HSL hợp lệ.
Cách sử dụng
Nhập tông màu theo độ (0–360), độ bão hòa theo phần trăm (0–100) và độ sáng theo phần trăm (0–100). Công cụ sẽ trả về giá trị rgb(r, g, b) tương ứng, mỗi kênh từ 0 đến 255, kèm theo một ô màu trực tiếp để bạn kiểm tra kết quả bằng mắt.
Giải thích công thức
Trước tiên, độ bão hòa và độ sáng được quy về khoảng 0–1. Chroma (độ thuần khiết của màu) được tính bằng \(C = (1 - |2L - 1|)\,S\). Một giá trị trung gian \(X = C\left(1 - \left|\left(\tfrac{H}{60}\bmod 2\right) - 1\right|\right)\) xử lý phần pha trộn bên trong mỗi cung 60° của tông màu, và \(m = L - \tfrac{C}{2}\) dịch chuyển toàn bộ để khớp với độ sáng yêu cầu. Tùy theo tông màu rơi vào cung 60° nào, các giá trị C, X và 0 sẽ được gán cho R, G, B theo một thứ tự nhất định, sau đó cộng thêm m, rồi nhân mỗi kênh với 255 và làm tròn.
Ví dụ minh họa
Với HSL(210°, 50%, 50%): S = 0.5, L = 0.5.
$$C = (1 - |0|)\cdot 0.5 = 0.5$$H/60 = 3.5, nên (3.5 mod 2) = 1.5 và
$$X = 0.5\cdot(1 - |1.5 - 1|) = 0.25$$$$m = 0.5 - 0.25 = 0.25$$Tông màu 210° nằm ở cung 3 (180–240°), cho ra \((R',G',B') = (0, X, C) = (0, 0.25, 0.5)\). Cộng m và nhân ×255: \(R = 64\), \(G = 128\), \(B = 191\) → rgb(64, 128, 191).
Câu hỏi thường gặp
Các giá trị nhập vào nằm trong khoảng nào? Tông màu từ 0–360 độ; độ bão hòa và độ sáng từ 0–100 phần trăm.
Vì sao kết quả phải làm tròn? Các kênh RGB phải là số nguyên từ 0 đến 255, nên giá trị sau khi quy đổi được làm tròn về số nguyên gần nhất.
Có tạo được màu xám không? Có — chỉ cần đặt độ bão hòa bằng 0 với bất kỳ tông màu nào, khi đó R, G và B sẽ đều bằng giá trị độ sáng quy về khoảng 0–255.