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