国产探花免费观看_亚洲丰满少妇自慰呻吟_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,還有個調色板的的問題。呵呵呵,希望大家看了不要發暈,我已經快暈了~~~~
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 高碑店市| 华亭县| 山阳县| 天气| 沙洋县| 许昌市| 蒙山县| 荔浦县| 绥芬河市| 孟连| 木兰县| 阳朔县| 新源县| 吴忠市| 阿合奇县| 嫩江县| 平原县| 建宁县| 天津市| 伊金霍洛旗| 汾西县| 穆棱市| 石阡县| 和林格尔县| 含山县| 锦州市| 綦江县| 灵丘县| 博爱县| 建始县| 阿拉尔市| 保亭| 泽普县| 阿克陶县| 疏勒县| 徐闻县| 城固县| 武夷山市| 板桥市| 肇东市| 宁河县|