计算机里通常使用RGB色彩模式,例如RGB565,就是用两个字节表示一个像素的颜色,其中红绿蓝分别用5、6、5个bit。还有一些RGB555、RGB666、ARGB4444之类的。而所谓的真彩色,使用4个字节表示一个像素,通常是RGB888,或者ARGB8888,其中A的全称是Alpha通道,指的是透明度 WindML5的显卡驱动基本都已经支持RGB888的真彩色
用WindML的语句把光的三原色、颜色的三原色,以及黑白画一下,效果如下
再多画几个
RGB888一共可以表示256*256*256=16777216种颜色,这基本得用两个4K的屏才能显示完整,而且也超过了人眼能区分的颜色数量。不过,只把RGB两两混合的画出来,还是比较容易的
而Windows的画图中,除了RGB,还使用一种ESL模式
这个ESL与HSL/HSB含义一致,而与RGB之间也仅是一个简单的转换关系。写个函数很容易实现它们之间的转换