我正在查看颜色代码
看过 88 色,知道 88 色使用什么位长吗?
3-Bit (2^3) | 8 | 8 (Primary) (000 to 111)
4-Bit (2^4) | 16 | 16 (Basic) (0000 to 1111)
| 88 | 16 (Basic) + 4×4×4 (Cube) + 8 (Grey)
8-Bit (2^8) | 256 | 16 (Basic) + 6×6×6 (Cube) + 24 (Grey)
24-Bit (2^24) | RGB-Code has 24-Bit Format (Bits 0 to 23)
16,777,216 | 8 Bits Per Colour Channel (2^8=256)
| Red[7:0]Grn[7:0]Blu[7:0] (256^3)
| Hex FF is 255 (256 = 16*16)
答案1
88色用途索引颜色,即a调色板。索引颜色使用色彩图正如其名称所暗示的:用于将颜色映射到显示服务器的可用分辨率的查找表。
虽然可以使用红/绿/蓝来实现调色板,但通常不会以这种方式处理。正如我所指出的bug-ncurses几年前,88 色调色板相对于 256 色的节省并不在于用于表示索引颜色的位数(这与深度)所示的显示的大小xdpyinfo
,但颜色图的大小:
2020 年 3 月 19 日星期四上午 03:59:08 -0400,尼克·布莱克 (Nick Black) 写道: > [ 嘿那里!这实际上更像是一个 xterm 问题,而不是 > ncurses 问题,但前者似乎没有 > 邮件列表,上次我在这里问问题,我感觉很棒 > 答案。所以……我希望不要冒犯] > > 在为我正在写的一本书做一些研究时[0],我来了 > xterm 中对 88 种调色板的支持以及(稍后) > 至少 rxvt。补丁 #115 [1] 似乎添加了 88 色 > 支持 xterm(NCURSES NEWS 文件提到 88 色 > terminfo 来源(1999 年)。 Xterm 常见问题解答提到: > >“接下来是 88 种颜色(使用相同的控制序列), > 减少所需的内存量。 XTerm 存储两个前台 > 和屏幕上每个单元格的背景颜色索引。那 > 是两个字节,这使得 xterm 使用的内存量增加了一倍 > 用于回滚。将其减少到单个字节允许 > 使用 4x4x4 立方体和按比例更短的类似方案 > 灰度渐变。” > > 我的问题是: > > (1) 这怎么是“单字节”?对于 88 种颜色,您需要 7 这是一个编辑错误:-( 我没有看到 Steve Wall 就这个问题发来的电子邮件(磁盘空间要多得多) 1999年很贵),2016年扩展常见问题解答时,我可能注意到了他的 我在变更日志中传达了有关分配内存的评论 将其误读为字节数。 88/256 都在字符单元中使用 2 个字节用于颜色,但颜色图 会有所不同(88*88 与 256*256 组合)。 > 我想我的问题可以归结为:是什么让 88 更有吸引力 > 比 64 或 128? 88 种颜色可在不到 7 的时间内编码 > 净比特?这个机制没有延伸到96种颜色吗? 颜色图的大小可能是主要问题。 X 服务器有一个颜色查找表,但大小有限。 我记得运行 Netscape 会导致颜色图大部分 分配给该应用程序,使颜色不可用 其他应用程序。 除此之外,88 色布局旨在适应相同的 256 色的想法:16 色组,以及一个立方体,然后是一个 灰度设置。我想人们可以想出一个 5x5x5 的方案: 88 157 256 ------------------- 16 16 16 ANSI/AIX 64 125 216 立方体 8 16 24 灰度“斜坡” 但颜色图的节省不会那么多: 颜色大小位 88 7744 13 157 24649 15 256 65536 16 ^^^重要!
也就是说,88 色调色板需要的颜色图不到 256 色调色板的八分之一,这似乎是将颜色数量减少到三分之一左右的合理权衡。