Chuyển đổi Hex sang RGB là gì?
Mã màu hex là cách biểu diễn một màu bằng 6 ký tự theo hệ thập lục phân (cơ số 16), được dùng phổ biến trong thiết kế web và CSS — ví dụ #3498DB. Mỗi cặp ký tự đại diện cho một trong ba kênh màu cơ bản: đỏ, xanh lá và xanh dương. Mô hình RGB diễn tả cùng màu đó bằng ba số thập phân nằm trong khoảng 0 đến 255. Công cụ này chuyển một mã hex thành bộ ba giá trị RGB tương ứng và hiển thị ô màu xem trước trực tiếp.
Cách sử dụng
Nhập hoặc dán mã màu hex vào ô. Bạn có thể thêm dấu # ở đầu hoặc bỏ đi — cả hai cách đều được. Công cụ chấp nhận mã 6 ký tự tiêu chuẩn cũng như mã rút gọn 3 ký tự (ví dụ #0AF, sẽ được mở rộng thành #00AAFF). Nhấn tính toán để xem các giá trị đỏ, xanh lá, xanh dương cùng ô màu xem trước.
Giải thích công thức
Việc chuyển đổi chính là đọc trực tiếp theo cơ số 16. Chuỗi 6 ký tự được tách thành ba cặp, mỗi cặp 2 ký tự. Mỗi cặp được đọc như một số thập lục phân: ký tự hex đầu tiên nhân với 16, sau đó cộng với ký tự thứ hai. Vậy cặp "FF" = \(15\times16 + 15 = 255\), còn "00" = 0.
$$(R,G,B) = \big(\,\text{hex}_{[1,2]},\ \text{hex}_{[3,4]},\ \text{hex}_{[5,6]}\,\big)_{16}$$$$\text{where}\quad \left\{ \begin{aligned} R &= \operatorname{int}_{16}\!\left(\text{Hex}_{[1,2]}\right) \\ G &= \operatorname{int}_{16}\!\left(\text{Hex}_{[3,4]}\right) \\ B &= \operatorname{int}_{16}\!\left(\text{Hex}_{[5,6]}\right) \end{aligned} \right.$$Công thức tổng quát là giá trị = (ký tự đầu × 16) + ký tự sau, trong đó mỗi ký tự nằm trong khoảng 0–15 (A–F tương ứng với 10–15).
Ví dụ minh họa
Lấy #3498DB. Tách thành 34, 98, DB. Đỏ = \(3\times16 + 4 = 52\). Xanh lá = \(9\times16 + 8 = 152\). Xanh dương = \(D(13)\times16 + B(11) = 208 + 11 = 219\). Kết quả là rgb(52, 152, 219) — một sắc xanh da trời quen thuộc.
Câu hỏi thường gặp
Chữ hoa hay chữ thường có quan trọng không? Không. #abcdef và #ABCDEF cho ra cùng một kết quả RGB.
Còn mã 3 ký tự thì sao? Một mã hex 3 ký tự như #F60 là dạng rút gọn, trong đó mỗi ký tự được nhân đôi, trở thành #FF6600 trước khi chuyển đổi.
Vì sao giá trị tối đa là 255? Mỗi kênh dùng hai ký tự hex, và giá trị hex hai ký tự lớn nhất là FF, bằng 255 — tức là có 256 mức (0–255) cho mỗi kênh.