unsigned char* Read_pixels(unsigned char *baseptr)
{
unsigned char pixelinfo[4096];
pFileheader->ID1 = *baseptr++; // save B
pFileheader->ID2 = *baseptr++; // save M
pFileheader->FileSize = *((unsigned int*)baseptr);
baseptr = baseptr + 4;
pFileheader->Reserved = *((unsigned short*)baseptr);
baseptr = baseptr + 2;
pFileheader->Reserved2 = *((unsigned short*)baseptr);
baseptr = baseptr + 2;
pFileheader->PxOffset = *((unsigned int*)baseptr);
}
在這個READ BMP函數中,我收到一個指向內存中bmp文件開始的指針。 我在上面的代碼中做的是讀取fileheader並將數據存儲在fileheader結構的相應成員中。我有一個疑問,在第五行代碼中,我將一個char指針指向一個unsigned int.I,因爲FileSize值是unsigned int類型的,我的baseptr實際上是一個char指針。我做對了嗎?代碼是否正確?函數讀取bmp文件標頭
非常感謝你 – 2015-03-13 11:10:29
我打算在ARM上使用它...所以它的一個32位int – 2015-03-13 11:15:12
是的,並且字節順序取決於系統。大多數情況下,ARM是連接起來的,所以他們使用小端序,但並非總是如此,所以你一定要檢查一下! – Bregalad 2015-03-13 11:46:14