国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 手機玩家 > 正文

BMP圖像格式的補充

2024-06-09 18:00:17
字體:
來源:轉載
供稿:網友
首先解釋一下掃描行的概念:掃描行指圖像在存儲器中一行像素的字節數據。現在我們來討論計算機中的圖像數據存儲情況。
圖像數據字節陣列,一般都是正向的,掃描行由底向上進行存儲,也就是說,陣列中最開始的字節表示圖像的左下角。當然還有一類BMP是倒向的,在Potoshop7.0中另存BMP時有翻轉行序的選項,這樣的BMP,掃描行由頂向下進行存儲,也就是說,陣列中最開始的字節表示圖像的左上角。一般的,都是用的正向的BMP。
圖像掃描行的大小,取決于圖象的顏色數目和用象素表示的圖象寬度。
BMP格式還有個非常重要的規定:要求每一掃描行的字節數據必須能被4整除,也就是DWord對齊(Dword是一種數據類型,長度為4個字節)。如果圖像的一行字節數不能被4整除,就需要在每行的未尾補齊0以達到規定。
設圖像位數為N,圖像寬為W(以像素數表示),高為H(以像素數表示),掃描行字節數為L,現在我們來看一下圖像的一些情況。
1、圖像的顏色數=2的N次方。圖像位數指像素用二進制數表示時的位數。16位圖像的顏色數為2的16次方=65536,這就是我們常說的6萬色了。
2、一個字節是8位,這樣每個像素所需字節數=N/8。
3、圖像每行的字節數=W*N/8
4、圖像每一掃描行的字節數L要求必須能被4整除。
當W*N/8能被4整除時,L=W*N/8;
當W*N/8不能被4整除時,需要在每行數據補零字節數為4-(W*N/8) Mod 4(Mod是求余運算,X mod Y指X除以Y的余數),這樣L=W*N/8+4-(W*N/8) Mod 4。
5、圖像數據陣列的字節大小=L*H
6、圖像文件的大小,如果是用photoshop保存的圖像,除了文件頭及數據陣列之外,還要加上未尾兩個字節的0。文件頭的大小,24位圖為36h=54,16位r5g6b5圖為46h=70,8位為436h=1078。
例如:一幅16位r5g6b5的圖像,N=16,若W=13,H=11,W*N/8=26不能被4整除,需要在每行數據后補零字節數4-26 Mod 4=2,在HW也就是每26個字節要補上0000。L=W*N/8+2=28。圖像數據陣列字節大小=L*H=28*11=308,圖像文件大小=308+70+2=380。
T4/T5中的圖像數據是16位r5g6b5格式的,但是不同于計算機中的r5g6b5,它并不要求掃描行能被4整除,所以不存在補零的問題。對r5grb6,由于W*N/8=W*16/8=W*2,所以當圖像寬W為奇數時,如果把這樣的r5g6b5往手機AXF中替換,必須把其中補的零去掉。
對于T4/T5,其中的圖像數據陣列大小直接就等于L*H=W*N/8*H=W*H*2。
除了上述提到到的BMP格式,還有別的很多格式,有不同的講究,尤其是8位BMP,還有個調色板的的問題。呵呵呵,希望大家看了不要發暈,我已經快暈了~~~~
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 师宗县| 尉犁县| 卢氏县| 松阳县| 梧州市| 本溪市| 泸西县| 巴中市| 天柱县| 海盐县| 淄博市| 海宁市| 和顺县| 曲阳县| 老河口市| 名山县| 邛崃市| 奉化市| 大英县| 永修县| 金沙县| 凉城县| 井研县| 黄骅市| 衡阳县| 栾城县| 安泽县| 肥城市| 吉水县| 新野县| 武义县| 郎溪县| 梨树县| 济宁市| 东丰县| 田东县| 邛崃市| 随州市| 宁夏| 定南县| 丹寨县|