上一篇講解了RGB索引格式,算是RGB的開胃菜吧,此篇應該是正餐,講解RGB的像素格式,主流的有RGB565,RGB555, RGB24,RGB32, ARGB32,每一種格式按照簡介,存儲示意圖,以及擷取具體像素的方法來講解。接下來步入正題:

-
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,