48 位颜色?

use*_*686 5 xorg colors

我经常看到颜色指定为 48 位数字:#2e2e34343636#cccc00000000而不是通常的 24 位#2e3436#cc0000. 额外的位有什么用?

use*_*686 3

我在“颜色字符串”下的 Xlib 文档中找到了答案。看来 Xlib 实际上使用 16 位 RGB 值来表示颜色:

\n
\n

RGB 设备字符串规范

\n

[...] 支持 RGB 设备的旧语法,但不鼓励继续使用它。语法是一个初始的锐号字符,后跟一个数字规范,采用以下格式之一:

\n
#RGB          (4 bits each)\n#RRGGBB       (8 bits each)\n#RRRGGGBBB    (12 bits each)\n#RRRRGGGGBBBB (16 bits each)\n
Run Code Online (Sandbox Code Playgroud)\n

R、G 和 B 代表单个十六进制数字。当指定的每个位少于 16 位时,它们表示值的最高有效位(与 \xe2\x80\x9crgb:\xe2\x80\x9d 语法不同,其中值被缩放)。例如,字符串 \xe2\x80\x9c \xe2\x80\x9d 与 \xe2\x80\x9c \xe2\x80\x9d#3a7相同。#3000a0007000

\n
\n