维基百科上的真彩色(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十六进制表示法:
#RRGGBBCSS 十六进制颜色表示法通过将通道指定为十六进制数字来指定颜色,这类似于通常直接在计算机代码中写入颜色的方式。它比用
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']
获奖标准
用于编写程序的最小字节。