RGB16格式
RGB16
数据格式主要有二种:RGB565
和RGB555
RGB565
每个像素用16比特位表示,占2个字节,RGB分量分别使用5位、6位、5位。
//获取高字节的5个bit R = color & 0xF800;
//获取中间6个bit G = color & 0x07E0; //
获取低字节5个bit B = color & 0x001F;
RGB555
每个像素用16比特位表示,占2个字节,rgb分量都使用5位(最高位不用)。
//获取高字节的5个bit R = color & 0x7C00;
//获取中间5个bit G = color & 0x03E0;
//获取低字节5个bit B = color & 0x001F;
RGB24格式
RGB24图像
每个像素用24比特位
表示,占3个字节
,注意:在内存中RGB各分量的排列顺序为:BGR BGR BGR ......
。
RGB32格式
RGB32图像
每个像素用32比特位
表示,占4个字节
,R,G,B
分量分别用8个bit表示,存储顺序为B,G,R
,最后8个字节
保留。注意:在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA ......
ARGB32
本质就是带alpha通道
的RGB24
,与RGB32
的区别在与,保留的8个bit
用来表示透明,也就是alpha
的值
在内存中的分量排列顺序如下:
R = color & 0x0000FF00;
G = color & 0x00FF0000;
B = color & 0xFF000000;
A = color & 0x000000FF;