RGB合成颜色(8:8:8 与 5:6:5 区别与转换)


通常,颜色由3色组成:红色(R),绿色(G),蓝色(B),每种颜色通常用一字节表示,如此,一个颜色值需要3个字节才能合成,此为8:8:8表示方式。

而采用5:6:5表示方式时,只需2个字节则足以合成一个颜色(5+6+5=16),当然,最后也要转成8:8:8方式。转换方式如下:


2^5:2^6:2^6    1:1:1

------------ = ------

2^8:2^8:2^8    8:4:8


其实就是简单的比例问题,采用5:6:5方式时,红色值缩小了8倍,绿色值缩小了4倍,蓝色值缩小了8倍,所以合成的时候,要分别增大各自的倍数。

Color.rgb(red<<3,green<<2,blue<<3);