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)

  1. 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格式

  • YUV / RGB 格式及快速转换算法

    1 前言         自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用 的...

(0)

相关推荐