有两种指定颜色的基本方法。一个是预先定义的颜色列表(调色板),然后您的颜色值就是该列表的索引。这就是旧的8位彩色系统如何工作以及GIF图像仍如何工作。有网络安全颜色的列表,例如http://en.wikipedia.org/wiki/Web_colors,通常适合8位值。通常相似的颜色是相邻的,但有时不是。调色板的优点是每个像素需要少量数据,但缺点是同时显示在屏幕上的不同颜色数量有限。
另一种基本方法是指定颜色的坐标。一种方法是RGB,每种原色都有单独的值。另一个是色相/饱和度/亮度。CMYK(青色,品红色,黄色,有时是黑色)用于打印。这就是通常所说的本色,当您使用诸如“所有颜色”之类的短语时,听起来您正在寻找这样的解决方案。对于渐变色,这样的HSL可能非常适合您。例如,从颜色到灰色的渐变只会降低饱和度值。如果只需要“纯”颜色,则固定饱和度和亮度值并更改色相。几乎所有绘图系统都需要RGB,但是从HSL到RGB的转换很简单。http://en.wikipedia.org/wiki/HSL_and_HSV
如果您不能保留每种颜色的全部24位(每种颜色8位,32位颜色相同,但添加了透明通道),则可以使用15或16位颜色。这是一回事,但是不是每种颜色使用8位,而是每种颜色获得5(15位)或5-6-5(16位,绿色获得了额外的位,因为我们的眼睛对绿色阴影更敏感)。这适合一个短整数。



