Màu sắc trung thực (24 bit) tại Wikipedia được mô tả ở phần thích hợp như
24 bit hầu như luôn sử dụng 8 bit của mỗi R, G, B. Kể từ năm 2018, độ sâu màu 24 bit được sử dụng bởi hầu như mọi máy tính và màn hình điện thoại và phần lớn các định dạng lưu trữ hình ảnh. Hầu như tất cả các trường hợp có 32 bit trên mỗi pixel có nghĩa là 24 được sử dụng cho màu sắc và 8 trường hợp còn lại là kênh alpha hoặc không được sử dụng.
2 24 cung cấp 16.777.216 biến thể màu. Mắt người có thể phân biệt tới mười triệu màu [10] và do gam màu của màn hình nhỏ hơn tầm nhìn của con người, điều này có nghĩa là điều này sẽ bao phủ phạm vi đó với nhiều chi tiết hơn mức có thể cảm nhận được. ...
...
Các hệ thống Macintosh gọi màu 24 bit là "hàng triệu màu". Thuật ngữ "Màu thật" đôi khi được sử dụng để chỉ những gì bài viết này gọi là "Màu trực tiếp". [13] Nó cũng thường được sử dụng để chỉ tất cả các độ sâu màu lớn hơn hoặc bằng 24.
Tất cả 16.777.216 màu
Bài tập
Viết chương trình tạo và trả về tất cả 16.777.216 biến thể màu trong một mảng dưới dạng chuỗi trong rgb()
hàm CSS
5.1. Các chức năng RGB:
rgb()
vàrgba()
Các
rgb()
chức năng xác định một màu RGB bằng cách xác định các kênh màu đỏ, xanh lá cây, và màu xanh trực tiếp. Cú pháp của nó là:rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage>
Ba đối số đầu tiên xác định các kênh màu đỏ, xanh lục và xanh lam tương ứng.
0%
đại diện cho giá trị tối thiểu cho kênh màu đó trong gam sRGB và100%
đại diện cho giá trị tối đa. A<number>
tương đương với a<percentage>
, nhưng với phạm vi khác:0
một lần nữa biểu thị giá trị tối thiểu cho kênh màu, nhưng255
đại diện cho tối đa. Các giá trị này xuất phát từ thực tế là nhiều công cụ đồ họa lưu trữ các kênh màu bên trong dưới dạng một byte, có thể giữ các số nguyên trong khoảng từ 0 đến 255. Việc triển khai phải tôn trọng độ chính xác của kênh như tác giả hoặc tính toán bất cứ khi nào có thể. Nếu điều này là không thể, kênh phải được làm tròn đến giá trị gần nhất với độ chính xác cao nhất được sử dụng, làm tròn lên nếu hai giá trị gần bằng nhau.Đối số cuối cùng, the
<alpha-value>
, chỉ định alpha của màu. Nếu được cho là a<number>
, phạm vi hữu ích của giá trị là0
(đại diện cho một màu hoàn toàn trong suốt) thành1
(đại diện cho một màu hoàn toàn mờ đục). Nếu được cho là a,0%
đại diện cho một màu hoàn toàn trong suốt, trong khi100%
đại diện cho một màu hoàn toàn mờ đục. Nếu bỏ qua, nó mặc định là100%
.Các giá trị ngoài các phạm vi này không phải là không hợp lệ, nhưng được kẹp vào các phạm vi được xác định ở đây tại thời điểm giá trị được tính toán.
Vì các lý do cũ,
rgb()
cũng hỗ trợ một cú pháp thay thế phân tách tất cả các đối số của nó bằng dấu phẩy:rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )
Cũng vì lý do di sản, một
rgba()
chức năng cũng tồn tại, với một ngữ pháp và hành vi giống hệt vớirgb()
.
hoặc #RRGGBB
định dạng ký hiệu thập lục phân RGB
5.2. Các ký hiệu thập lục phân RGB:
#RRGGBB
CSS hex màu ký hiệu cho phép một màu được xác định bằng cách cho các kênh như số thập lục phân, mà là tương tự như cách màu sắc thường được viết trực tiếp trong mã máy tính. Nó cũng ngắn hơn so với việc viết cùng một màu trong
rgb()
ký hiệu.Cú pháp của a
<hex-color>
là một<hash-token>
mã thông báo có giá trị bao gồm 3, 4, 6 hoặc 8 chữ số thập lục phân. Nói cách khác, màu lục được viết dưới dạng ký tự băm, "#", theo sau là một số chữ số 0-9 hoặc chữ cái af (trường hợp các chữ cái không quan trọng -#00ff00
giống hệt#00FF00
).Số chữ số hex đã cho xác định cách giải mã ký hiệu hex thành màu RGB:
6 chữ số
Cặp chữ số đầu tiên, được hiểu là số thập lục phân, chỉ định kênh màu đỏ của màu, trong đó
00
biểu thị giá trị tối thiểu vàff
(255 trong số thập phân) đại diện cho mức tối đa. Cặp chữ số tiếp theo, được diễn giải theo cùng một cách, chỉ định kênh màu xanh lá cây và cặp cuối cùng chỉ định màu xanh. Kênh alpha của màu hoàn toàn mờ đục.VÍ DỤ 2
Nói cách khác,#00ff00
đại diện cho cùng màu vớirgb(0 255 0)
(một màu xanh lá cây vôi).
Xem Bản nháp của Mô-đun Màu CSS của Trình soạn thảo Cấp 4
Ví dụ
rgb()
Hàm CSS ( ký tự khoảng trắng có thể được thay thế cho ký tự dấu phẩy, ví dụ rgb(0 255 0)
:)
// `rgb()` `<percentage>` as strings in resulting array
['rgb(0%,0%,0%)', ...,'rgb(0%,255%,0)', ...'rgb(255,255,255)']
// `rgb()` `<number>` as strings in resulting array
['rgb(0,0,0)', ...,'rgb(0,255,0)', ...'rgb(255,255,255)']
Ký hiệu thập lục phân CSS RGB RRGGBB
// RGB hexadecimal notation as strings in resulting array
['#000000', ...,'#00ff00', ...'#ffffff']
Tiêu chí chiến thắng
Ít nhất byte được sử dụng để viết chương trình.