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.存儲示意:

         ![](https://s1.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.存儲示意:
    RGB格式詳解(三)---RGB像素格式

    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的方式存儲):
    RGB格式詳解(三)---RGB像素格式

    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.存儲示意:
RGB格式詳解(三)---RGB像素格式

    c.獲取具體像素值方法:
             根據RGB565的存儲方式,即可得到獲取R,G,B分量的值。現假設計算機中存儲某一個像素點的變量爲color, 數據類型爲short. 那麼則有:
      R  =  color & 0x0000FF00
      G  =  color & 0x00FF0000,
      B  =  color & 0xFF000000,
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章