彩色液晶与颜色编码
RGB位色:32位 24位 16位 15位
颜色与值:都为0为黑 都为255为白 ,其它相等为无色彩灰度色
RGB颜色公式:RGB()=65536*Blue+256*Green+Red
RGB颜色码(采用16进制24位色):#RRGGBB# 比如RR的取值范围为00~FF
16位色RGB565:采用一个字即2个字节来表示颜色即 RRRRR GGGGGG BBBBB采用位屏蔽和移位操作获取各颜色分量例如:
#define RGB565_MASK_RED 0XF800
#define RGB565_MASK_GREEM 0X07E0
#define RGB565_MASK_BLUE 0X001F
R=(wPixel&RGB565_MASK_RED)>>11 值范围为0~31
G=(wPixel&RGB565_MASK_GREEN)>>5 值范围为0~63
B=(wPixel&RGB565_MASK_BLUE) 值范围为0~31
RGB(颜色)=(0XF800)*red+(0x07E0)*green+blue
RGB565转RGB888:将上面分离出的RGB向高位移动填充:R=R<<3;G=G<<2;B=B<<3然后再合成24位格式RGB()=65536*Blue+256*Green+Red
或者:RGB888=(R<<16)|(G<<8)|B
以下实现24位域16位的转换:
#define RGB(r,g,b) (unsigned int)((r|0x08<<11)|(g|0x08<<6)|(b|0x08))
#define RGB(r,g,b) (unsigned int)((r|0x08<<10)|(g|0x08<<5)|(b|0x08))
RGB555:与RGB565类似 只不过最高位不用。
彩色液晶编程(借助工具或者565颜色码表):# define black 0x0000 //定义颜色码