欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
轉貼:BMP位圖格式詳解 一

位圖格式 BMP是bitmap的縮寫(xiě)形式,bitmap顧名思義,就是位圖也即Windows位圖。它一般由4部分組成:文件頭信息塊、圖像描述信息塊、顏色表(在真彩色模式無(wú)顏色表)和圖像數據區組成。在系統中以BMP為擴展名保存?! ?/p>

打開(kāi)Windows的畫(huà)圖程序,在保存圖像時(shí),可以看到三個(gè)選項:2色位圖(黑白)、16色位圖、256色位圖和24位位圖?!?/p>

現在講解BMP的4個(gè)組成部分:

1.文件頭信息塊

0000-0001 :文件標識,為字母ASCII碼“BM”。

0002-0005 :文件大小。

0006-0009 :保留,每字節以“00”填寫(xiě)。

000A-000D :記錄圖像數據區的起始位置。各字節的信息含義依次為:文件頭信息塊大小,圖像描述信息塊的大小,圖像顏色表的大小,保留(為01)。

2.圖像描述信息塊

000E-0011:圖像描述信息塊的大小,常為28H。

0012-0015:圖像寬度。

0016-0019:圖像高度。

001A-001B:圖像的plane總數(恒為1)。

001C-001D:記錄像素的位數,很重要的數值,圖像的顏色數由該值決定。

001E-0021:數據壓縮方式(數值位0:不壓縮;1:8位壓縮;2:4位壓縮)。

0022-0025:圖像區數據的大小。

0026-0029:水平每米有多少像素,在設備無(wú)關(guān)位圖(.DIB)中,每字節以00H填寫(xiě)。

002A-002D:垂直每米有多少像素,在設備無(wú)關(guān)位圖(.DIB)中,每字節以00H填寫(xiě)。

002E-0031:此圖像所用的顏色數,如值為0,表示所有顏色一樣重要。

3.顏色表

顏色表的大小根據所使用的顏色模式而定:2色圖像為8字節;16色圖像位64字節;256色圖像為1024字節。其中,每4字節表示一種顏色,并以B(藍色)、G(綠色)、R(紅色)、alpha(32位位圖的透明度值,一般不需要)。即首先4字節表示顏色號0的顏色,接下來(lái)表示顏色號1的顏色,依此類(lèi)推。

4.圖像數據區   

顏色表接下來(lái)位是位圖文件的圖像數據區,在此部分記錄著(zhù)每點(diǎn)像素對應的顏色號,其記錄方式也隨顏色模式而定,既2色圖像每點(diǎn)占1位;16色圖像每點(diǎn)占4位;256色圖像每點(diǎn)占8位;真彩色圖像每點(diǎn)占24位。所以,整個(gè)數據區的大小也會(huì )隨之變化。究其規律而言,可的出如下計算公式:圖像數據信息大小=(圖像寬度*圖像高度*記錄像素的位數)/8。 然而,未壓縮的圖像信息區的大小。除了真彩色模式外,其余的均大于或等于數據信息的大小。這是為什么呢?原因有兩個(gè):  

1.        BMP文件記錄一行圖像是以字節為單位的。因此,就不存在一個(gè)字節中的數據位信息表示的點(diǎn)在不同的兩行中。也就是說(shuō),設顯示模式位16色,在每個(gè)字節分配兩個(gè)點(diǎn)信息時(shí),如果圖像的寬度位奇數,那么最后一個(gè)像素點(diǎn)的信息將獨占一個(gè)字節,這個(gè)字節的后4位將沒(méi)有意義。接下來(lái)的一個(gè)字節將開(kāi)始記錄下一行的信息?!?/p>

2.        為了顯示的方便,除了真彩色外,其他的每中顏色模式的行字節數要用數據“00”補齊為4的整數倍。如果顯示模式為16色,當圖像寬為19時(shí),存儲時(shí)每行則要補充4-(19/2+1)%4=2個(gè)字節(加1是因為里面有一個(gè)像素點(diǎn)要獨占了一字節)。如果顯示模式為256色,當圖像寬為19時(shí),每行也要補充4-19%4=1個(gè)字節。

bmp文件大體上分成四個(gè)部分。

位圖文件頭BITMAPFILEHEADER 、位圖信息頭BITMAPINFOHEADER 、調色板Palette 、實(shí)際的位圖數據ImageDate

第一部分為位圖文件頭BITMAPFILEHEADER,是一個(gè)結構,其定義如下:

typedef unsigned char BYTE

typedef unsigned short WORD

typedef unsigned long DWORD

typedef struct tagBITMAPFILEHEADER {

WORD bfType; //類(lèi)型名,必須是0x424D,即字符串“BM”,

DWORD bfSize; //文件大小

WORD bfReserved1; //保留字,不考慮

WORD bfReserved2; //保留字,同上

DWORD bfOffBits; //實(shí)際位圖數據的偏移字節數,即前三個(gè)部分長(cháng)度之和

} BITMAPFILEHEADER;

第二部分為位圖信息頭BITMAPINFOHEADER,也是一個(gè)結構,其定義如下:

typedef struct tagBITMAPINFOHEADER{

DWORD biSize; //指定此結構體的長(cháng)度,為40

LONG biWidth; //位圖寬

LONG biHeight; //位圖高

WORD biPlanes; //平面數,為1

WORD biBitCount //采用顏色位數,可以是1,2,4,8,16,24,新的可以是32

DWORD biCompression; //壓縮方式,可以是0,1,2,其中0表示不壓縮

DWORD biSizeImage; //實(shí)際位圖數據占用的字節數

LONG biXPelsPerMeter; //X方向分辨率

LONG biYPelsPerMeter; //Y方向分辨率

DWORD biClrUsed; //使用的顏色數,如果為0,則表示默認值(2^顏色位數)

DWORD biClrImportant; //重要顏色數,如果為0,則表示所有顏色都是重要的

} BITMAPINFOHEADER;

第三部分為調色板Palette,當然,這里是對那些需要調色板的位圖文件而言的。24位和32位是不需要調色板的。

typedef struct tagRGBQUAD {

BYTE rgbBlue; //該顏色的藍色分量

BYTE rgbGreen; //該顏色的綠色分量

BYTE rgbRed; //該顏色的紅色分量

BYTE rgbReserved; //保留值

} RGBQUAD;

第四部分就是實(shí)際的圖象數據了。對于用到調色板的位圖,圖象數據就是該象素顏在調色板中的索引值。對于真彩色圖,圖象數據就是實(shí)際的R、G、B值。對于2色位圖,用1位就可以表示該象素的顏色(一般0表示黑,1表示白),所以一個(gè)字節可以表示8個(gè)象素。對于16色位圖,用4位可以表示一個(gè)象素的顏色,所以一個(gè)字節可以表示2個(gè)象素。對于256色位圖,一個(gè)字節剛好可以表示1個(gè)象素。對于真彩色圖,三個(gè)字節才能表示1個(gè)象素。要注意兩點(diǎn): (1) 每一行的字節數必須是4的整倍數,如果不是,則需要補齊。 (2) 一般來(lái)說(shuō),.bMP文件的數據從下到上,從左到右的。也就是說(shuō),從文件中最先讀到的是圖象最下面一行的左邊第一個(gè)象素,然后是左邊第二個(gè)象素……接下來(lái)是倒數第二行左邊第一個(gè)象素,左邊第二個(gè)象素……依次類(lèi)推 ,最后得到的是最上面一行的最右一個(gè)象素。

16色系統調色板:

0 = RGB( 0, 0, 0) = 0x00000000;

1 = RGB(128, 0, 0) = 0x00000080;

2 = RGB( 0,128, 0) = 0x00008000;

3 = RGB(128,128, 0) = 0x00008080;

4 = RGB( 0, 0,128) = 0x00800000;

5 = RGB(128, 0,128) = 0x00800080;

6 = RGB( 0,128,128) = 0x00808000;

7 = RGB(128,128,128) = 0x00808080;

8 = RGB(192,192,192) = 0x00c0c0c0;

9 = RGB(255, 0, 0) = 0x000000ff;

10 = RGB( 0,255, 0) = 0x0000ff00;

11 = RGB(255,255, 0) = 0x0000ffff;

12 = RGB( 0, 0,255) = 0x00ff0000;

13 = RGB(255, 0,255) = 0x00ff00ff;

14 = RGB( 0,255,255) = 0x00ffff00;

15 = RGB(255,255,255) = 0x00ffffff;

圖像數據起始:000A-000D

圖像數據大?。?022-0025

圖像信息大?。?00E-0011

圖像寬度:0012-0015

圖像高度:0016-0019

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
BMP讀取(一)
技術(shù)剖析韓劇《幽靈》中使用的隱寫(xiě)術(shù)
BMP圖像文件格式
在中國能找到的最好的BMP文件結構 - KaKa的專(zhuān)欄 - CSDN博客
BMP文件格式
位圖格式資料
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久