DataSizePerLine= (biWidth* biBitCount+31)/8,是個啥意思呢?
DataSizePerLine= (biWidth* biBitCount+31)/8即DataSizePerLine= (biWidth* biBitCount+31)/32*4
轉自:http://blog.163.com/flybood@126/blog/static/41230911201041242942824/
點陣圖資料記錄了點陣圖的每一個畫素值或該對應畫素的顏色表的索引值,影象記錄順序是在掃描行內是從左到右,掃描行之間是從下到上。這種格式我們又稱為Bottom_Up點陣圖,當然與之相對的還有Up_Down形式的點陣圖,它的記錄順序是從上到下的,對於這種形式的點陣圖,也不存在壓縮形式。點陣圖的一個畫素值所佔的位元組數:當biBitCount=1時,8個畫素佔1個位元組;當biBitCount=4時,2個畫素佔1個位元組;當biBitCount=8時,1個畫素佔1個位元組;當biBitCount=24時,1個畫素佔3個位元組,此時影象為真彩色影象。當影象不是為真彩色時,影象檔案中包含顏色表,點陣圖的資料表示對應畫素點在顏色表中相應的索引值,當為真彩色時,每一個畫素用三個位元組表示影象相應畫素點彩色值,每個位元組分別對應R、G、B分量的值,這時候影象檔案中沒有顏色表。上面我已經講過了,Windows規定影象檔案中一個掃描行所佔的位元組數必須是4的倍數(即以字為單位),不足的以0填充,影象檔案中一個掃描行所佔的位元組數計算方法: DataSizePerLine= (biWidth* biBitCount+31)/8;// 一個掃描行所佔的位元組數 主要是這句話: 當biBitCount=1時,8個畫素佔1個位元組;當biBitCount=4時,2個畫素佔1個位元組;當biBitCount=8時,1個畫素佔1個位元組;當biBitCount=24時,1個畫素佔3個位元組 也就是說,一個畫素所佔的位元組數是biBitCount/8
1Byte = 8Bits 想得到的就是BYTES嘛,但是計算中間單位是4Bytes,這個明白吧?就是說即使是1Bits也作為4Bytes來看待,因為是“大於或等於biWidth的,離4最近的整倍數”嘛。 4Bytes的單位,就是32Bits的單位,所以,讓它除以32就得到了當下的4的整倍數,但是,如果有餘數就必須給結果再增加1,既然這樣,不如在做除法之前就把它加進去,這樣,給bits加上31,確保只要有餘數,結果就會加1。最後要得到Bytes值,需要給這個中間單位再*4. |
相關文章
- Java是啥意思呢?Java
- (biwidth*biBitCount/8+3)/4*4
- RAC 監聽中的 IP=FIRST 是啥意思?
- win10版本multiple editions是什麼版本_win10版本multiple editions啥意思Win10
- Java是幹嘛的呢?Java
- 如何知道 Git clone 時 GitHub 使用的是哪個 SSH key 呢Github
- 【MySQL】究竟什麼是MVCC呢?MySqlMVC
- Web前端是啥專業呢?Web前端
- Java到底是什麼呢Java
- 代理埠是什麼意思呢?
- 這是什麼東西呢?
- win10 consumer_editions是什麼版本_win10 consumer_editions啥意思Win10
- JVM ZeroTLAB 是什麼意思呢?JVM
- Windows 8怎麼啟用分配訪問呢?Windows
- 大家使用git是敲命令還是用GUI工具呢GitGUI
- 你知道你自己最經常使用的是哪幾個Linux命令呢?Linux
- 不知道大家對《測試框架》這個詞是怎麼理解的呢框架
- 兩個程式設計師談戀愛,究竟會是什麼樣的呢?程式設計師
- gptq 中W4A16 或者 W8A16 中具體是怎麼計算的呢?GPT
- Laravel 是怎樣響應 Response 的呢 ?Laravel
- 到底什麼是企業簽名呢?
- 企業資料整合是什麼呢?
- 人家是地道的程式設計師呢程式設計師
- .NET8 AOT和JIT的效能,誰更高呢?
- 假如瀏覽器是一個妹紙,你更喜歡哪一款呢?瀏覽器
- 什麼是爬蟲?爬蟲的工作原理是什麼呢爬蟲
- ui設計是什麼工資待遇呢?UI
- Python add()函式是如何使用呢?Python函式
- python爬蟲步驟是什麼呢?Python爬蟲
- Python是啥呢?能拿來幹嘛?Python
- seo優化的價值是什麼呢?優化
- 什麼是伺服器虛擬化呢伺服器
- 技術說明 路由器是如何工作的呢? 一個簡單的解釋路由器
- 那麼到底什麼是一個系統呢?(軟工系列文章之五) (轉)軟工
- 學習Python到底是培訓還是自學合適呢?Python
- 同事每天早下班,原來是用了這8個開發工具
- 瀏覽器是怎樣渲染網頁的呢?瀏覽器網頁
- 使用A3報告的流程是什麼呢?