欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

RGB颜色模式详解(第三部分)- RGB像素格式解析

最编程 2024-01-13 07:50:03
...
上一篇讲解了RGB索引格式,算是RGB的开胃菜吧,此篇应该是正餐,讲解RGB的像素格式,主流的有RGB565,RGB555, RGB24,RGB32, ARGB32,每一种格式按照简介,存储示意图,以及获取具体像素的方法来讲解。接下来步入正题:
  1. RGB565: a.概述: RGB565格式每一个像素用16个bit来表示,2个字节, 1个WORD, R, G, B分别用5, 6, 5个bit来表示,格式也因此而得名。

b.存储示意:

c.获取具体像素值方法:

根据RGB565的存储方式,即可得到获取R,G,B分量的值。现假设计算机中存储某一个像素点的变量为color, 数据类型为short. 那么则有:

R = color & 0xF800, (获取高字节的5个bit)

G = color & 0x07E0, (获取中间6个bit)

B = color & 0x001F, (获取低字节5个bit)

2. RGB55:

a.概述:

RGB55, 表示一个像素用16个bit == 2个字节 == 1个WORD,但是最高位不用,R, G, B分别用5个bit来表示。

b.存储示意:

c.获取具体像素值方法:

根据RGB565的存储方式,即可得到获取R,G,B分量的值。现假设计算机中存储某一个像素点的变量为color, 数据类型为short. 那么则有:

R = color & 0x7C00, (获取高字节的5个bit)

G = color & 0x03E0, (获取中间5个bit)

B = color & 0x001F, (获取低字节5个bit)

3.RGB24:

a.概述:

RGB24, 一个像素用24个bit == 3个字节来表示,R, G, B分量分别用8个bit来表示。

b.存储示意(注意RGB24格式按BGR的方式存储):

c.获取具体像素值方法:

根据RGB565的存储方式,即可得到获取R,G,B分量的值。现假设计算机中存储某一个像素点的变量为color, 数据类型为int. 那么则有:

R = color & 0x000000FF,

G = color & 0x0000FF00,

B = color & 0x00FF0000,

4.RGB32:

a.概述:

RGB32,一个像素用32个bit == 4个字节 == 2个WORD来表示,R, G, B分量分别用8个bit表示,存储顺序为B, G, R,最后8个字节保留。

b.存储示意:

c.获取具体像素值方法:

根据RGB565的存储方式,即可得到获取R,G,B分量的值。现假设计算机中存储某一个像素点的变量为color, 数据类型为short. 那么则有:

R = color & 0x0000FF00

G = color & 0x00FF0000,

B = color & 0xFF000000,

5. ARGB32:

a.概述:

ARGB32与RGB32类似,唯一不同的地方便是RGB32保留的8个BIbit用来表示透明,也就是alpha的值。

b.存储示意:

c. 获取具体像素值方法:

根据RGB565的存储方式,即可得到获取R,G,B分量的值。现假设计算机中存储某一个像素点的变量为color, 数据类型为short. 那么则有:

R = color & 0x0000FF00,

G = color & 0x00FF0000,

B = color & 0xFF000000,

A = color & 0x000000FF,