RGB格式详解---RGB像素格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RGB格式详解---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.存储示意:
![](http://i2.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,
以上是关于RGB格式详解---RGB像素格式的主要内容,如果未能解决你的问题,请参考以下文章