维基百科上的真彩色(24位)在相关部分中描述为
24位几乎总是使用R,G,B中的每个8位。截至2018年,几乎每台计算机和电话显示器以及绝大多数图像存储格式都使用24位色深。几乎所有情况下每个像素有32位意味着使用24种颜色,其余8种是alpha通道或未使用。
2 24给出16,777,216种颜色变化。人眼最多可以辨别一千万种颜色[10],并且由于显示器的色域小于人眼的范围,因此这意味着该范围应覆盖比所能感知的更多的细节。...
...
Macintosh系统将24位颜色称为“数百万种颜色”。术语“真彩色”有时用来表示本文所说的“直接彩色”。[13]通常也用于指所有大于或等于24的颜色深度。
全部16,777,216色
任务
编写一个程序,该程序在CSS rgb()
函数中生成并返回数组中所有16,777,216个颜色变化作为字符串
5.1。RGB功能:
rgb()
和rgba()
该
rgb()
函数通过直接指定红色,绿色和蓝色通道来定义RGB颜色。其语法为:rgb() = rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) <alpha-value> = <number> | <percentage>
前三个参数分别指定颜色的红色,绿色和蓝色通道。
0%
代表sRGB色域中该颜色通道的最小值,并100%
代表最大值。A<number>
等效于a<percentage>
,但范围不同:0
再次代表颜色通道的最小值,但255
代表最大值。这些值来自以下事实:许多图形引擎在内部将颜色通道存储为单个字节,该字节可以容纳0到255之间的整数。实现应尽可能尊重创作或计算得出的通道精度。如果无法做到这一点,则应使用所使用的最高精度将通道四舍五入到最接近的值,如果两个值相等接近,则将四舍五入。最后一个参数,
<alpha-value>
指定颜色的Alpha。如果指定为a<number>
,则该值的有用范围是0
(表示完全透明的颜色)至1
(表示完全不透明的颜色)。如果指定为,则0%
表示完全透明的颜色,而100%
表示完全不透明的颜色。如果省略,则默认为100%
。超出这些范围的值不是无效的,但是在计算值时将被限制为此处定义的范围。
出于遗留原因,
rgb()
它还支持另一种语法,该语法用逗号分隔所有参数:rgb() = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )
同样由于遗留原因,
rgba()
也存在一个函数,其语法和行为与相同rgb()
。
或RGB十六进制表示法#RRGGBB
格式
5.2。RGB十六进制表示法:
#RRGGBB
CSS 十六进制颜色表示法通过将通道指定为十六进制数字来指定颜色,这类似于通常直接在计算机代码中写入颜色的方式。它比用
rgb()
符号写相同的颜色还短。a的语法
<hex-color>
是<hash-token>
令牌,其值包含3、4、6或8个十六进制数字。换句话说,十六进制颜色写为井号字符“#”,后跟一些数字0-9或字母af(字母的大小无关紧要-#00ff00
与相同#00FF00
)。给定的十六进制数字的数量决定了如何将十六进制表示法解码为RGB颜色:
6位数
第一对数字(解释为十六进制数字)指定颜色的红色通道,其中
00
代表最小值,ff
(十进制255)代表最大值。以相同方式解释的下一对数字指定绿色通道,最后一对数字指定蓝色。颜色的Alpha通道是完全不透明的。实施例2
换句话说,#00ff00
表示与rgb(0 255 0)
(柠檬绿)相同的颜色。
请参阅CSS Color Module Level 4的编辑草稿
例子
CSS rgb()
函数(可用空格代替逗号,例如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)']
CSS RGB十六进制表示法 RRGGBB
// RGB hexadecimal notation as strings in resulting array
['#000000', ...,'#00ff00', ...'#ffffff']
获奖标准
用于编写程序的最小字节。