麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 手機(jī)玩家 > 正文

BMP格式圖像文件詳析

2024-06-09 17:59:59
字體:
供稿:網(wǎng)友
工具軟件:工具軟件:Hex Workshop 或 UltraEdit
首先請(qǐng)注意所有的數(shù)值在存儲(chǔ)上都是按“高位放高位、低位放低位的原則”,如12345678h放在存儲(chǔ)器中就是7856 3412)。下圖是導(dǎo)出來的開機(jī)動(dòng)畫的第一張圖加上文件頭后的16進(jìn)制數(shù)據(jù),以此為例進(jìn)行分析。T408中的圖像有點(diǎn)怪,圖像是在電腦上看是垂直翻轉(zhuǎn)的。在分析中為了簡化敘述,以一個(gè)字(兩個(gè)字節(jié)為單位,如424D就是一個(gè)字)為序號(hào)單位進(jìn)行,“h”表示是16進(jìn)制數(shù)。
424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2
......
BMP文件可分為四個(gè)部分:位圖文件頭、位圖信息頭、彩色板、圖像數(shù)據(jù)陣列,在上圖中已用*分隔。
一、圖像文件頭
1)1:圖像文件頭。424Dh=’BM’,表示是Windows支持的BMP格式。
2)2-3:整個(gè)文件大小。4690 0000,為00009046h=36934。
3)4-5:保留,必須設(shè)置為0。
4)6-7:從文件開始到位圖數(shù)據(jù)之間的偏移量。4600 0000,為00000046h=70,上面的文件頭就是35字=70字節(jié)。
5)8-9:位圖圖信息頭長度。
6)10-11:位圖寬度,以像素為單位。8000 0000,為00000080h=128。
7)12-13:位圖高度,以像素為單位。9000 0000,為00000090h=144。
8)14:位圖的位面數(shù),該值總是1。0100,為0001h=1。
二、位圖信息頭
9)15:每個(gè)像素的位數(shù)。有1(單色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增強(qiáng)型真彩色)。T408支持的是16位格式。1000為0010h=16。
10)16-17:壓縮說明:有0(不壓縮),1(RLE 8,8位RLE壓縮),2(RLE 4,4位RLE壓縮,3(Bitfields,位域存放)。RLE簡單地說是采用像素?cái)?shù)+像素值的方式進(jìn)行壓縮。T408采用的是位域存放方式,用兩個(gè)字節(jié)表示一個(gè)像素,位域分配為r5b6g5。圖中0300 0000為00000003h=3。
11)18-19:用字節(jié)數(shù)表示的位圖數(shù)據(jù)的大小,該數(shù)必須是4的倍數(shù),數(shù)值上等于位圖寬度×位圖高度×每個(gè)像素位數(shù)。0090 0000為00009000h=80×90×2h=36864。
12)20-21:用象素/米表示的水平分辨率。A00F 0000為0000 0FA0h=4000。
13)22-23:用象素/米表示的垂直分辨率。A00F 0000為0000 0FA0h=4000。
14)24-25:位圖使用的顏色索引數(shù)。設(shè)為0的話,則說明使用所有調(diào)色板項(xiàng)。
15)26-27:對(duì)圖象顯示有重要影響的顏色索引的數(shù)目。如果是0,表示都重要。
三、彩色板
16)28-35:彩色板規(guī)范。對(duì)于調(diào)色板中的每個(gè)表項(xiàng),用下述方法來描述RGB的值:
1字節(jié)用于藍(lán)色分量
1字節(jié)用于綠色分量
1字節(jié)用于紅色分量
1字節(jié)用于填充符(設(shè)置為0)
對(duì)于24-位真彩色圖像就不使用彩色表,因?yàn)槲粓D中的RGB值就代表了每個(gè)象素的顏色。但是16位r5g6b5位域彩色圖像需要彩色表,看前面的圖,與上面的解釋不太對(duì)得上,應(yīng)以下面的解釋為準(zhǔn)。
圖中彩色板為00F8 0000 E007 0000 1F00 0000 0000 0000,其中:
00FB 0000為FB00h=1111100000000000(二進(jìn)制),是紅色分量的掩碼。
E007 0000為 07E0h=0000011111100000(二進(jìn)制),是綠色分量的掩碼。
1F00 0000為001Fh=0000000000011111(二進(jìn)制),是紅色分量的掩碼。
0000 0000總設(shè)置為0。
將掩碼跟像素值進(jìn)行“與”運(yùn)算再進(jìn)行移位操作就可以得到各色分量值。看看掩碼,就可以明白事實(shí)上在每個(gè)像素值的兩個(gè)字節(jié)16位中,按從高到低取5、6、5位分別就是r、g、b分量值。取出分量值后把r、g、b值分別乘以8、4、8就可以補(bǔ)齊第個(gè)分量為一個(gè)字節(jié),再把這三個(gè)字節(jié)按rgb組合,放入存儲(chǔ)器(同樣要反序),就可以轉(zhuǎn)換為24位標(biāo)準(zhǔn)BMP格式了。
四、圖像數(shù)據(jù)陣列
17)17-...:每兩個(gè)字節(jié)表示一個(gè)像素。陣列中的第一個(gè)字節(jié)表示位圖左下角的象素,而最后一個(gè)字節(jié)表示位圖右上角的象素。
按照前述r5g6b5彩色板規(guī)范,我們對(duì)圖像最左下角手機(jī)上圖像的的像素在24位模式中的rgb值進(jìn)行推算(由于垂直翻轉(zhuǎn),這個(gè)像素在手機(jī)上看來實(shí)際上在左上角):
02F1 為 F102h
r=(F102 AND FB00)/ 800 × 8 h= F0h=240
g=(F102 AND 07E0)/ 20 × 4 h=20h=32
b=(F102 AND 001F)× 8 h= 10h=16
rgb=F02010h,放在存儲(chǔ)器中為1020F0h。
在photoshop中設(shè)一下顏色,rgb取240、32、16可以看到是近紅色。
將手機(jī)中圖像數(shù)據(jù)復(fù)制出來,加上前圖中的文件頭數(shù)據(jù),只需要把6)、7)項(xiàng)位圖寬、高設(shè)好就可以用ACDSEE進(jìn)行查看了。但是如果要用其他的程序進(jìn)行處理,其他項(xiàng)目一般也需要正確設(shè)置。
按照這樣的原則,可以寫一個(gè)簡單的程序把一幅24位BMP圖像轉(zhuǎn)換為手機(jī)支持的16位r5g6b5圖像,然后寫進(jìn)AXF,刷機(jī)后就可以在手機(jī)上看到自己做的6萬色真彩圖了。
目前52和蘭色可能都在開發(fā)這樣的程序,有興趣的朋友不妨先自己動(dòng)手做幾張圖片。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 久久久久电影网站 | 亚洲国产高清自拍 | 色视频在线播放 | 欧美一级高潮片免费的 | 欧美日韩亚州综合 | 久久精品99国产国产精 | 亚洲男人的天堂在线视频 | 一级毛片看 | 日日草夜夜 | 国产99久久久国产精品下药 | 久久伊人国产精品 | 成年免费大片黄在线观看岛国 | 亚洲片在线观看 | 中午字幕无线码一区2020 | 国产中文一区 | 精品一区二区三区电影 | 久久99精品久久久久久小说 | 亚洲成年人免费网站 | 久久亚洲国产午夜精品理论片 | 日本aaaa片毛片免费观看视频 | 免费观看视频在线 | 91精品国产日韩91久久久久久360 | 国产午夜免费视频 | 牛牛a级毛片在线播放 | 视频国产一区二区 | 91久久国产露脸精品免费 | 日韩精品中文字幕在线播放 | 国产精品99久久久久久宅女 | 亚洲一区二区 | 亚洲第五色综合网 | 久久久aa | 精品小视频 | 在线免费亚洲 | 国产国语毛片 | 91网站免费在线观看 | 99精品在线观看 | 激情在线视频 | 久草在线免费看 | 国产精品二区高清在线 | 久久久久99一区二区三区 | 中国女警察一级毛片视频 |