Chuyển đến nội dung

Công Cụ Chọn Màu - Chuyển Đổi Mã Màu RGB, Hex, CMYK & HSV

Công cụ chọn màu trực tuyến miễn phí với chuyển đổi RGB, Hex, CMYK và HSV ngay lập tức. Nhấp vào phổ màu để chọn màu một cách trực quan hoặc nhập giá trị chính xác. Sao chép bất kỳ định dạng nào chỉ bằng một cú nhấp chuột cho thiết kế web, in ấn và các dự án kỹ thuật số.

Bộ Chọn Màu

RGB (0-255)

CMYK (0-100)

Bảng Chọn Màu

0%
100%
Máy tính tải...
📚

Tài liệu hướng dẫn

Những Việc Bạn Có Thể Làm Với Trình Chọn Màu Này

Cần một sắc thái hoàn hảo cho dự án của bạn? Trình chọn màu này cho phép bạn chọn, xem trước và chuyển đổi màu giữa các định dạng RGB, Hex, CMYK và HSV một cách tức thời. Cho dù bạn đang viết mã cho một trang web, thiết kế logo, hay chuẩn bị tệp để in ấn, bạn sẽ tìm thấy các giá trị màu chính xác mà mình cần—không cần đoán mò, không cần chuyển đổi giữa các công cụ.

Nhấp vào bất kỳ đâu trên phổ màu để chọn một sắc thái, điều chỉnh độ sáng bằng thanh trượt, hoặc nhập các giá trị chính xác trực tiếp. Mọi định dạng đều được cập nhật theo thời gian thực, và bạn có thể sao chép bất kỳ mã màu nào chỉ bằng một cú nhấp chuột.

Hiểu về Mô Hình Màu

Các dự án khác nhau cần các định dạng màu khác nhau. Dưới đây là những gì mỗi mô hình làm và khi nào nên sử dụng:

RGB (Đỏ, Xanh Lá, Xanh Dương)

RGB hoạt động bằng cách trộn ánh sáng đỏ, xanh lá và xanh dương—giống cách màn hình của bạn hiển thị màu ngay bây giờ. Mỗi thành phần dao động từ 0 đến 255:

  • RGB(255, 0, 0) = đỏ thuần
  • RGB(0, 255, 0) = xanh lá thuần
  • RGB(0, 0, 255) = xanh dương thuần
  • RGB(255, 255, 255) = trắng
  • RGB(0, 0, 0) = đen

Khi nào sử dụng RGB: Bất kỳ công việc kỹ thuật số nào—trang web, ứng dụng di động, chỉnh sửa video, hoặc đồ họa dựa trên màn hình. Đây là ngôn ngữ gốc của các màn hình, đó là lý do tại sao các công cụ như CSS hỗ trợ trực tiếp các hàm rgb()rgba(). Theo thông số kỹ thuật Mô-đun Màu CSS của W3C, RGB là mô hình màu cơ bản cho các tiêu chuẩn web.

Hệ Thập Lục Phân (Hex)

Mã Hex chỉ là các giá trị RGB được viết ở hệ cơ số 16 thay vì hệ cơ số 10. Một màu hex trông như #FF5733, trong đó:

  • Ký hiệu # đánh dấu nó là mã hex
  • Hai ký tự đầu tiên = đỏ (00-FF)
  • Hai ký tự ở giữa = xanh lá (00-FF)
  • Hai ký tự cuối = xanh dương (00-FF)
  • #FF0000 = đỏ, #00FF00 = xanh lá, #0000FF = xanh dương

Đôi khi bạn sẽ thấy ký hiệu viết tắt 3 ký tự như #F00 thay vì #FF0000—điều này hoạt động khi mỗi kênh màu lặp lại cùng một chữ số.

Khi nào sử dụng Hex: Phát triển web là trường hợp sử dụng chính. CSS luôn hỗ trợ ký hiệu hex, và hầu hết các nhà phát triển thấy việc gõ nhanh hơn so với rgb(). Một điểm cần chú ý: quên ký hiệu # sẽ làm hỏng các kiểu của bạn một cách âm thầm, vì các trình duyệt sẽ không nhận ra nó như một màu hợp lệ.

CMYK (Xanh Lơ, Đỏ Tươi, Vàng, Đen/Khóa)

CMYK là mô hình màu được sử dụng bởi các máy in. Không giống như RGB (thêm ánh sáng), CMYK loại bỏ ánh sáng—trộn mực trên giấy trắng để tạo màu:

  • Mỗi thành phần dao động từ 0% đến 100%
  • CMYK(0, 100, 100, 0) = đỏ
  • CMYK(100, 0, 100, 0) = xanh lá
  • CMYK(0, 0, 0, 100) = mực đen thuần
  • CMYK(0, 0, 0, 0) = không có mực (giấy trắng hiện ra)

Khi nào sử dụng CMYK: Thiết kế cho in ấn—danh thiếp, tờ rơi, tạp chí, bao bì. Đây là sự thực: nhiều màu RGB sáng sẽ không thể tái tạo được bằng mực CMYK. Màu xanh dương điện sáng bạn thấy trên màn hình? Nó sẽ trông mờ hơn khi in. Các nhà thiết kế chuyên nghiệp luôn xem trước các chuyển đổi CMYK trước khi gửi tệp đến máy in để tránh những bất ngờ.

HSV (Sắc Độ, Độ Bão Hòa, Giá Trị)

HSV chia màu thành ba thành phần trực quan:

  • Sắc Độ: Nhóm màu nào (0-360°)—0° là đỏ, 120° là xanh lá, 240° là xanh dương
  • Độ Bão Hòa: Mức độ sống động hay xám (0-100%)—0% là thang độ xám, 100% là bão hòa hoàn toàn
  • Giá Trị: Mức độ sáng hay tối (0-100%)—0% là đen, 100% là độ sáng tối đa

Tại sao HSV quan trọng: Nó phù hợp với cách con người tự nhiên nghĩ về màu. Muốn một màu xanh dương tối hơn? Giảm giá trị. Muốn một màu xanh dương ít sống động hơn? Giảm độ bão hòa. Điều này làm cho HSV lý tưởng cho các bộ chọn màu tương tác như thế này, nơi bạn chọn một sắc độ trên phổ và điều chỉnh độ sáng bằng một thanh trượt.

Công thức Chuyển đổi Màu

Trình chọn màu tự động chuyển đổi giữa các mô hình màu khác nhau bằng các công thức toán học này:

Chuyển đổi RGB sang Hex

Để chuyển đổi RGB sang thập lục phân:

  1. Chuyển đổi từng thành phần RGB (0-255) thành số thập lục phân hai chữ số
  2. Nối ba giá trị thập lục phân với tiền tố #

Hex=#+toHex(R)+toHex(G)+toHex(B)\text{Hex} = \text{\#} + \text{toHex}(R) + \text{toHex}(G) + \text{toHex}(B)

Trong đó toHex() chuyển đổi một số thập phân thành biểu diễn thập lục phân của nó.

Chuyển đổi RGB sang CMYK

Việc chuyển đổi từ RGB sang CMYK bao gồm các bước sau:

  1. Chuẩn hóa các giá trị RGB về phạm vi 0-1
  2. Tính thành phần khóa đen (K)
  3. Tính C, M và Y dựa trên K

R=R/255,G=G/255,B=B/255R' = R/255, G' = G/255, B' = B/255 K=1max(R,G,B)K = 1 - \max(R', G', B') C=(1RK)(1K)×100%C = \frac{(1-R'-K)}{(1-K)} \times 100\% M=(1GK)(1K)×100%M = \frac{(1-G'-K)}{(1-K)} \times 100\% Y=(1BK)(1K)×100%Y = \frac{(1-B'-K)}{(1-K)} \times 100\%

Chuyển đổi RGB sang HSV

Chuyển đổi RGB sang HSV:

R=R/255,G=G/255,B=B/255R' = R/255, G' = G/255, B' = B/255 Cmax=max(R,G,B)C_{max} = \max(R', G', B') Cmin=min(R,G,B)C_{min} = \min(R', G', B') Δ=CmaxCmin\Delta = C_{max} - C_{min}

Đối với Hue (H):

undefined
1// Chuyển đổi RGB sang Hex
2function rgbToHex(r, g, b) {
3  const toHex = (c) => {
4    const hex = Math.round(c).toString(16);
5    return hex.length === 1 ? '0' + hex : hex;
6  };
7  
8  return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
9}
10
11// Chuyển đổi Hex sang RGB
12function hexToRgb(hex) {
13  // Loại bỏ # nếu có
14  const cleanHex = hex.startsWith('#') ? hex.slice(1) : hex;
15  
16  // Xử lý hex 3 và 6 chữ số
17  const expandedHex = cleanHex.length === 3 
18    ? cleanHex.split('').map(char => char + char).join('')
19    : cleanHex;
20    
21  const r = parseInt(expandedHex.substring(0, 2), 16);
22  const g = parseInt(expandedHex.substring(2, 4), 16);
23  const b = parseInt(expandedHex.substring(4, 6), 16);
24  
25  return { r, g, b };
26}
27
28// Chuyển đổi RGB sang CMYK
29function rgbToCmyk(r, g, b) {
30  // Chuẩn hóa giá trị RGB
31  const normalizedR = r / 255;
32  const normalizedG = g / 255;
33  const normalizedB = b / 255;
34  
35  // Tính K (đen)
36  const k = 1 - Math.max(normalizedR, normalizedG, normalizedB);
37  
38  // Xử lý màu đen thuần
39  if (k === 1) {
40    return { c: 0, m: 0, y: 0, k: 100 };
41  }
42  
43  // Tính C, M, Y
44  const c = ((1 - normalizedR - k) / (1 - k)) * 100;
45  const m = ((1 - normalizedG - k) / (1 - k)) * 100;
46  const y = ((1 - normalizedB - k) / (1 - k)) * 100;
47  
48  return {
49    c: Math.round(c),
50    m: Math.round(m),
51    y: Math.round(y),
52    k: Math.round(k * 100)
53  };
54}
55
56// Ví dụ sử dụng
57const rgb = { r: 255, g: 0, b: 0 }; // Đỏ thuần
58console.log(`Hex: ${rgbToHex(rgb.r, rgb.g, rgb.b)}`);
59console.log(`CMYK:`, rgbToCmyk(rgb.r, rgb.g, rgb.b));
60

Tài liệu tham khảo và Đọc thêm