RGB格式详解(三)
上一篇讲解了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.存储示意:
![](https://s4.51cto.com/images/blog/201801/26/fd9aa397f6e9605eef7d449b1bd0bad1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
c.获取具体像素值方法:
根据RGB565的存储方式,即可得到获取R,G,B分量的值。现假设计算机中存储某一个像素点的变量为color, 数据类型为short. 那么则有:
R = color & 0xF800, (获取高字节的5个bit)
G = color & 0x07E0, (获取中间6个bit)
B = color & 0x001F, (获取低字节5个bit)
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,
- 1赞
- 2收藏
- 评论
- 分享
微博 QQ 微信
上一篇:RGB格式详解(二)--索引格式
下一篇:编码原理详解(一)----简介
相关文章
RGB格式详解(二)--索引格式
本节针对RGB索引格式做简单介绍,这些格式是比较老的格式,比较节省空间,在计算机发展的初期存储的成本还是很高的,但是表现的色彩很有限,而随着存储成本的不断降低,以及用户越来越高的视觉体验需求,这些格式也
常见RGB格式
计算机世界中,最终对于颜色和画面的显示,更多的采用的是RGB模式,这里记录一下常见的RGB格式。
YUV / RGB 格式及快速转换算法
1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用 的...