一、RGB颜色转换----原理
1. 24位真彩色(RGB888)
24位真彩色(RGB888)每个像素使用8bit(1字节),每个颜色值范围是 0~255。
2. 16位真彩色(RGB565)
16位真彩色(RGB565)一共占16bit(2个字节),RGB分别占用5位、6位、5位。
RGB565的意思是,R取5位,G取6位,B取5位,其中取高位,舍低位。
二、24位真彩色(RGB888)转换 16位真彩色(RGB565)
只需要输入RGB三个字节相对应的数值,就可以输出一个16位数据的RGB565颜色值。具体程序如下:
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
u16 RGB888_RGB565 (u8 R,u8 G,u8 B)
{
R=R>>3;
G=G>>2;
B=B>>3;
return (R<<11)|(G<<5)|B;
}