我有一個簡單的圖像,存儲寬度,高度,像素格式和其他一些我不確定的事情,然後是像素數據。使用RGBA32像素格式計算圖像像素陣列的尺寸
我已經被告知像素格式是RGBA32,而其餘的數據只是像素數據。
計算它的公式是什麼? 根據我的理解,每個RGBA顏色需要8位,因此每個像素需要4個字節。
那麼我會得出像素數組的大小是寬*高* 4,但這還不夠。
我有一個簡單的圖像,存儲寬度,高度,像素格式和其他一些我不確定的事情,然後是像素數據。使用RGBA32像素格式計算圖像像素陣列的尺寸
我已經被告知像素格式是RGBA32,而其餘的數據只是像素數據。
計算它的公式是什麼? 根據我的理解,每個RGBA顏色需要8位,因此每個像素需要4個字節。
那麼我會得出像素數組的大小是寬*高* 4,但這還不夠。
64px乘64px BMP和RGBA32通常是16440字節(假設BITMAPV3INFOHEADER)。頭部56字節,像素數據16384字節(64 * 64 * 4)。 header size can vary though並且假定標準BMP爲124字節(BITMAPV5HEADER)。
我猜想,你有一個或多個以下的要佔你的額外〜5376(21760 - 16384)字節:
在任何情況下,我會先檢查最後 16384(64×64×4)字節的數據中的哪一個有可能其中圖像數據是(如果這種格式在所有需要後BMP格式,並且沒有一些尾隨元數據或ICC配置文件或完整性檢查)。在旁註中,RGBA數據通常首先與alpha字節一起存儲(ARGB)。
爲了熟悉一個常見的圖像格式的結構,可能需要看看這個diagram of the BMP file format。
你怎麼知道這是不夠的?你爲什麼不發佈你擁有的額外數據? – Gabe 2012-02-21 04:24:44
誰給了你這張圖片?如果這是一種特定的圖像格式,我猜測可能有某種標題或校驗和或元數據或註釋。 – userx 2012-02-21 04:28:41
我的寬度和高度爲64 * 64,總像素數據大小爲21760.當我讀取21760字節並顯示它時,它看起來很好。當我只讀64 * 64 * 4時,這是錯誤的。 – MxyL 2012-02-21 04:31:46