Trình chọn màu thân thiện với người dùng với hiển thị quang phổ tương tác và thanh trượt độ sáng. Chọn màu một cách trực quan hoặc nhập giá trị chính xác theo định dạng RGB, Hex hoặc CMYK. Sao chép mã màu chỉ với một cú nhấp chuột cho các dự án thiết kế của bạn.
Công Cụ Chọn Màu là một ứng dụng trực quan, dễ sử dụng được thiết kế để giúp người dùng chọn, hình dung và chuyển đổi màu sắc qua nhiều định dạng màu khác nhau. Dù bạn là một nhà thiết kế web đang tạo ra một bảng màu, một nghệ sĩ kỹ thuật số đang tìm kiếm sắc thái hoàn hảo, hay một nhà phát triển đang triển khai giao diện người dùng, công cụ chọn màu này cung cấp một cách đơn giản để làm việc với màu sắc trong các định dạng RGB, Hexadecimal, CMYK và HSV. Với quang phổ màu tương tác, thanh trượt độ sáng và các tùy chọn đầu vào chính xác, bạn có thể nhanh chóng tìm, điều chỉnh và sao chép giá trị màu cho các dự án của mình.
Trước khi đi vào cách sử dụng công cụ chọn màu, thật hữu ích khi hiểu các mô hình màu khác nhau mà nó hỗ trợ:
RGB là một mô hình màu cộng tính, trong đó ánh sáng đỏ, xanh lá và xanh dương được kết hợp theo nhiều cách khác nhau để tái tạo một loạt màu sắc rộng lớn. Trong các ứng dụng kỹ thuật số:
Mô hình RGB liên quan trực tiếp đến cách màu sắc được hiển thị trên màn hình, khiến nó trở thành lựa chọn chính cho thiết kế kỹ thuật số.
Mã màu Hexadecimal là một cách để đại diện cho màu RGB bằng hệ thống số cơ sở 16:
Mã hex được sử dụng rộng rãi trong phát triển web (CSS, HTML) và các ứng dụng thiết kế kỹ thuật số.
CMYK là một mô hình màu trừ tính chủ yếu được sử dụng trong in màu:
Mặc dù chủ yếu được sử dụng cho in ấn, việc hiểu các giá trị CMYK có thể hữu ích khi thiết kế nội dung sẽ được in ra.
HSV đại diện cho màu sắc theo các yếu tố:
HSV đặc biệt hữu ích cho việc chọn màu vì nó tách biệt lựa chọn màu sắc (hue) khỏi cường độ (saturation) và độ sáng (value), giúp việc điều chỉnh màu sắc trở nên trực quan hơn.
Công cụ 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 sau:
Để chuyển đổi RGB sang mã hex:
Trong đó toHex()
chuyển đổi một số thập phân thành biểu diễn hex của nó.
Chuyển đổi từ RGB sang CMYK bao gồm các bước sau:
Chuyển đổi RGB sang HSV:
Đối với Hue (H):
undefined1// 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ý cả hex 3 chữ số 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 các giá trị RGB
31 const normalizedR = r / 255;
32 const normalizedG = g / 255;
33 const normalizedB = b / 255;
34
35 // Tính toán K (đen)
36 const k = 1 - Math.max(normalizedR, normalizedG, normalizedB);
37
38 // Xử lý màu đen thuần khiết
39 if (k === 1) {
40 return { c: 0, m: 0, y: 0, k: 100 };
41 }
42
43 // Tính toán 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 khiết
58console.log(`Hex: ${rgbToHex(rgb.r, rgb.g, rgb.b)}`);
59console.log(`CMYK:`, rgbToCmyk(rgb.r, rgb.g, rgb.b));
60
1# Chuyển đổi RGB sang Hex
2def rgb_to_hex(r, g, b):
3 return f'#{r:02x}{g:02x}{b:02x}'
4
5# Chuyển đổi Hex sang RGB
6def hex_to_rgb(hex_color):
7 # Loại bỏ # nếu có
8 hex_color = hex_color.lstrip('#')
9
10 # Xử lý cả hex 3 chữ số và 6 chữ số
11 if len(hex_color) == 3:
12 hex_color = ''.join([c*2 for c in hex_color])
13
14 return {
15 'r': int(hex_color[0:2], 16),
16 'g': int(hex_color[2:4], 16),
17 'b': int(hex_color[4:6], 16)
18 }
19
20# Chuyển đổi RGB sang CMYK
21def rgb_to_cmyk(r, g, b):
22 # Chuẩn hóa các giá trị RGB
23 r_norm = r / 255.0
24 g_norm = g / 255.0
25 b_norm = b / 255.0
26
27 # Tính toán K (đen)
28 k = 1 - max(r_norm, g_norm, b_norm)
29
30 # Xử lý màu đen thuần khiết
31 if k == 1:
32 return {'c': 0, 'm': 0, 'y': 0, 'k': 100}
33
34 # Tính toán C, M, Y
35 c = ((1 - r_norm - k) / (1 - k)) * 100
36 m = ((1 - g_norm - k) / (1 - k)) * 100
37 y = ((1 - b_norm - k) / (1 - k)) * 100
38
39 return {
40 'c': round(c),
41 'm': round(m),
42 'y': round(y),
43 'k': round(k * 100)
44 }
45
46# Ví dụ sử dụng
47rgb = {'r': 0, 'g': 128, 'b': 255} # Xanh dương trời
48hex_color = rgb_to_hex(rgb['r'], rgb['g'], rgb['b'])
49cmyk = rgb_to_cmyk(rgb['r'], rgb['g'], rgb['b'])
50
51print(f"Hex: {hex_color}")
52print(f"CMYK: C={cmyk['c']}%, M={cmyk['m']}%, Y={cmyk['y']}%, K={cmyk['k']}%")
53
1public class ColorConverter {
2 // Chuyển đổi RGB sang Hex
3 public static String rgbToHex(int r, int g, int b) {
4 return String.format("#%02x%02x%02x", r, g, b);
5 }
6
7 // Chuyển đổi Hex sang RGB
8 public static int[] hexToRgb(String hexColor) {
9 // Loại bỏ # nếu có
10 if (hexColor.startsWith("#")) {
11 hexColor = hexColor.substring(1);
12 }
13
14 // Xử lý cả hex 3 chữ số và 6 chữ số
15 if (hexColor.length() == 3) {
16 String expandedHex = "";
17 for (char c : hexColor.toCharArray()) {
18 expandedHex += c + String.valueOf(c);
19 }
20 hexColor = expandedHex;
21 }
22
23 int r = Integer.parseInt(hexColor.substring(0, 2), 16);
24 int g = Integer.parseInt(hexColor.substring(2, 4), 16);
25 int b = Integer.parseInt(hexColor.substring(4, 6), 16);
26
27 return new int[]{r, g, b};
28 }
29
30 // Chuyển đổi RGB sang CMYK
31 public static double[] rgbToCmyk(int r, int g, int b) {
32 // Chuẩn hóa các giá trị RGB
33 double normalizedR = r / 255.0;
34 double normalizedG = g / 255.0;
35 double normalizedB = b / 255.0;
36
37 // Tính toán K (đen)
38 double k = 1 - Math.max(Math.max(normalizedR, normalizedG), normalizedB);
39
40 // Xử lý màu đen thuần khiết
41 if (k == 1) {
42 return new double[]{0, 0, 0, 100};
43 }
44
45 // Tính toán C, M, Y
46 double c = ((1 - normalizedR - k) / (1 - k)) * 100;
47 double m = ((1 - normalizedG - k) / (1 - k)) * 100;
48 double y = ((1 - normalizedB - k) / (1 - k)) * 100;
49
50 return new double[]{
51 Math.round(c),
52 Math.round(m),
53 Math.round(y),
54 Math.round(k * 100)
55 };
56 }
57
58 public static void main(String[] args) {
59 // Ví dụ sử dụng
60 int r = 75, g = 0, b = 130; // Tím
61 String hexColor = rgbToHex(r, g, b);
62 double[] cmyk = rgbToCmyk(r, g, b);
63
64 System.out.println("Hex: " + hexColor);
65 System.out.printf("CMYK: C=%.0f%%, M=%.0f%%, Y=%.0f%%, K=%.0f%%\n",
66 cmyk[0], cmyk[1], cmyk[2], cmyk[3]);
67 }
68}
69
Agoston, M. K. (2013). Đồ Họa Máy Tính và Mô Hình Hình Học: Triển Khai và Thuật Toán. Springer Science & Business Media.
Adobe Systems. (2000). Mã Màu Adobe RGB (1998). Adobe Systems Incorporated.
Fairchild, M. D. (2013). Mô Hình Xuất Hiện Màu. John Wiley & Sons.
Hunt, R. W. G., & Pointer, M. R. (2011). Đo Lường Màu Sắc. John Wiley & Sons.
Poynton, C. (2012). Video Kỹ Thuật Số và HD: Thuật Toán và Giao Diện. Elsevier.
W3C. (2018). Mô Đun Màu CSS Cấp 4. W3C Working Draft. Truy cập từ https://www.w3.org/TR/css-color-4/
Hướng Dẫn Khả Năng Tiếp Cận Nội Dung Web (WCAG) 2.1. (2018). Truy cập từ https://www.w3.org/TR/WCAG21/
Ủy Ban Màu Quốc Tế. (2004). Đặc Tả ICC.1:2004-10 (Phiên Bản Hồ Sơ 4.2.0.0). Truy cập từ http://www.color.org/specification/ICC1v42_2006-05.pdf
Sẵn sàng tìm màu hoàn hảo cho dự án của bạn? Công cụ chọn màu thân thiện với người dùng của chúng tôi giúp bạn dễ dàng chọn, điều chỉnh và chuyển đổi màu sắc giữa các định dạng khác nhau. Dù bạn đang thiết kế một trang web, tạo ra nghệ thuật kỹ thuật số, hay lập kế hoạch cho tài liệu in, công cụ của chúng tôi cung cấp độ chính xác và tính linh hoạt bạn cần.
Bắt đầu thử nghiệm với màu sắc ngay bây giờ và nâng cao thiết kế của bạn lên một tầm cao mới!
Khám phá thêm các công cụ có thể hữu ích cho quy trình làm việc của bạn