亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

c語言解析bmp圖片的實例

2020-01-26 13:58:43
字體:
來源:轉載
供稿:網友

心血來潮想了解下常用圖片的格式解析,翻看了一些資料后,發現最簡單的是bmp格式,所以先拿它開刀。

BMP格式

這種格式內的數據分為三到四個部分,依次是:

文件信息頭 (14字節)存儲著文件類型,文件大小等信息

圖片信息頭 (40字節)存儲著圖像的尺寸,顏色索引,位平面數等信息

調色板 (由顏色索引數決定)【可以沒有此信息】

位圖數據 (由圖像尺寸決定)每一個像素的信息在這里存儲

一般的bmp圖像都是24位,也就是真彩。每8位為一字節,24位也就是使用三字節來存儲每一個像素的信息,三個字節對應存放r,g,b三原色的數據,每個字節的存貯范圍都是0-255。

那么以此類推,32位圖即每像素存儲r,g,b,a(Alpha通道,存儲透明度)四種數據。8位圖就是只有灰度這一種信息,還有二值圖,它只有兩種顏色,黑或者白。

文件信息頭格式

typedef struct tagBITMAPFILEHEADER {  unsigned short bfType;   // 19778,必須是BM字符串,對應的十六進制為0x4d42,十進制為19778  unsigned int bfSize;    // 文件大小  unsigned short bfReserved1; // 一般為0  unsigned short bfReserved2; // 一般為0  unsigned int bfOffBits;   // 從文件頭到像素數據的偏移,也就是這兩} BITMAPFILEHEADER;

圖片信息頭格式

typedef struct tagBITMAPINFOHEADER {  unsigned int biSize;    // 此結構體的大小  int biWidth;        // 圖像的寬  int biHeight;        // 圖像的高  unsigned short biPlanes;  // 1  unsigned short biBitCount; // 一像素所占的位數,一般為24  unsigned int biCompression; // 0  unsigned int biSizeImage;  // 像素數據所占大小, 這個值應該等于上面文件頭結構中bfSize-bfOffBits  int biXPelsPerMeter;    // 0  int biYPelsPerMeter;    // 0  unsigned int biClrUsed;   // 0   unsigned int biClrImportant;// 0} BITMAPINFOHEADER;

調色板信息

這里需要根據文件信息頭的bfOffBits是否等于54(由前面的固定14+40字節得出)來判斷是否存在此調色板信息,如果是,則不存在;大于的話即存在。

可以根據需求提取其中的信息,或者直接移動到位圖數據區讀取像素信息。

這個地方可以表示為一個二維數組unsigned char palette[N][M], 其中N表示總的顏色索引數,M表示每像素占的字節數。例如一個24位圖,每像素由3個字節構成,M即為3,每個字節可表示0-255共256種顏色,所以N為256 。

數組中存放的是索引信息,也就是一張映射表,標識顏色索引號與其代表的顏色的對應關系

位圖數據

這里就存放著所有的像素信息了,每像素為一字節,讀取出來后通過查詢調色板獲得顏色信息。

如果圖像是24位或是32位數據的位圖的話,位圖數據區就不是索引而是實際的像素值了。下面說明一下,此時位圖數據區的每個像素的RGB顏色陣列排布:

24位RGB按照BGR的順序來存儲每個像素的各顏色通道的值,一個像素的所有顏色分量值都存完后才存下一個下一個像素,不進行交織存儲。

32位數據按照BGRA的順序存儲,其余與24位位圖的方式一樣。

注意:由于位圖信息頭中的圖像高度是正數,所以位圖數據在文件中的排列順序是從左下角到右上角,以行為主序排列的。

也就是說,最先讀取到的是位于從上往下數最后一行最左端的像素,然后是同行向右一列的像素,讀取完一整行后,繼續讀取倒數第二行,然后繼續向上直到讀完所有數據。

以上這篇c語言解析bmp圖片的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美另类国产| 亚洲精品www久久久久久广东| 欧美中文在线观看国产| 欧美极品少妇xxxxⅹ喷水| 亚洲大胆美女视频| 国产精品视频专区| 国产91九色视频| 日韩高清免费观看| 欧美精品生活片| 久99久在线视频| 亚洲韩国欧洲国产日产av| 日韩久久精品成人| 国产精品美女视频网站| 国产精品久久久久av| 97人人爽人人喊人人模波多| 欧美日韩一区二区三区在线免费观看| 久久人人爽亚洲精品天堂| 7777kkkk成人观看| 91热精品视频| 久久99亚洲精品| 欧美精品成人在线| 成人欧美一区二区三区在线| 亚洲欧美中文在线视频| www.精品av.com| 久久久精品视频成人| 欧美精品videos性欧美| 久久人91精品久久久久久不卡| 欧美又大又硬又粗bbbbb| 国产成人精品免费视频| 亚洲精品在线91| 亚洲第一av网站| 97欧美精品一区二区三区| 中文字幕欧美亚洲| 狠狠色狠狠色综合日日五| 欧美一区二区三区免费观看| 国产精品欧美一区二区三区奶水| 国产精品7m视频| 中文字幕在线视频日韩| 精品亚洲精品福利线在观看| 成人精品一区二区三区电影黑人| 国产精品91在线观看| 美女视频久久黄| 欧美在线www| 亚洲无亚洲人成网站77777| 中文精品99久久国产香蕉| 欧美另类在线播放| 一区二区三区四区精品| 欧美成aaa人片在线观看蜜臀| 亚洲最新av在线网站| 国产精品99免视看9| 最近免费中文字幕视频2019| 国产精品网红福利| 亚洲色图激情小说| 国产精品视频公开费视频| 国a精品视频大全| 成人免费网站在线观看| 韩国精品久久久999| 精品久久久久久久久国产字幕| 久久网福利资源网站| 久久99精品久久久久久噜噜| 欧美黄色免费网站| 日韩欧美一区二区三区| 亲爱的老师9免费观看全集电视剧| 最近2019中文免费高清视频观看www99| 国产精品美女主播在线观看纯欲| 91深夜福利视频| 国产精自产拍久久久久久蜜| 亚洲精品国产品国语在线| 精品动漫一区二区| 亚洲第一免费网站| 欧美老女人性视频| 91精品国产色综合久久不卡98| 久久中文字幕在线视频| 伊人亚洲福利一区二区三区| 亚洲国产91色在线| 欧美激情久久久久久| 91成人国产在线观看| 午夜精品美女自拍福到在线| 亚洲最大在线视频| 亚洲电影免费在线观看| 国产精品美女免费视频| 96pao国产成视频永久免费| 亚洲人成在线观看网站高清| 国产噜噜噜噜久久久久久久久| 成人欧美一区二区三区在线湿哒哒| 亚洲电影免费观看高清| 欧美裸体xxxx极品少妇| 亚洲一区二区中文字幕| 欧美精品性视频| 久久人人爽亚洲精品天堂| 国产一区二区三区视频| 久久国产精品影片| 中文字幕国产亚洲2019| 久99久在线视频| 日韩有码在线观看| 久久精品国产亚洲精品2020| 57pao精品| 色婷婷综合久久久久中文字幕1| 97视频在线观看成人| 成人国产精品av| 国产精品v片在线观看不卡| 国产精品va在线播放| 日韩中文字幕精品| 国产精品视频26uuu| 国产97在线|日韩| 成人亚洲欧美一区二区三区| 久久久久久久97| 亚洲国产精品成人av| 欧美激情综合亚洲一二区| 欧洲一区二区视频| 日韩一二三在线视频播| 日韩高清人体午夜| 亚洲欧美中文日韩在线v日本| 国产精品美腿一区在线看| 国产精品一区二区三区久久久| 久久夜色精品亚洲噜噜国产mv| 久久精品国产欧美亚洲人人爽| 亚洲在线免费观看| 这里只有精品丝袜| 欧美另类高清videos| 欧美精品一区在线播放| 91久久国产精品91久久性色| 中文字幕日韩欧美在线| 亚洲性线免费观看视频成熟| 97香蕉久久超级碰碰高清版| 亚洲专区在线视频| 国产美女被下药99| 久久精品欧美视频| 欧美精品激情在线观看| 另类天堂视频在线观看| 自拍偷拍亚洲欧美| 欧美电影在线观看网站| 91在线看www| 欧美激情a∨在线视频播放| 亚洲精品福利在线| 亚洲一区二区三区香蕉| 久久久精品一区| 亚洲第一网中文字幕| 91国内揄拍国内精品对白| 日韩av在线影视| 国产精品自产拍在线观看| 欧美激情网站在线观看| 中文字幕日韩欧美精品在线观看| 国产一区二区在线播放| 欧美成人精品在线| 色狠狠av一区二区三区香蕉蜜桃| 亚洲欧美中文日韩在线v日本| 夜夜躁日日躁狠狠久久88av| 美女国内精品自产拍在线播放| 中文字幕亚洲在线| 一区二区三区四区在线观看视频| 色樱桃影院亚洲精品影院| 久久久久久这里只有精品| xxx欧美精品| 一区二区三区四区视频| 欧美一级免费看| 青青草99啪国产免费| 日韩电影中文字幕一区| 91精品国产色综合久久不卡98口| 亚洲男人天堂2024| 国产精品久久国产精品99gif| 亚洲人成网站999久久久综合| 国产午夜精品视频免费不卡69堂| 国产一区二区成人|