|
|
如题!
typedef struct BITMAP_FILE_TAG
{
BITMAPFILEHEADER bitmapfileheader;
BITMAPINFOHEADER bitmapinfoheader;
UCHAR *buffer;
} BITMAP_FILE, *BITMAP_FILE_PTR;
BITMAP_FILE bitmap;
fstream file(filename, ios::in | ios::binary);
// 读取bitmapfileheader
file.read((char*)&bitmap->bitmapfileheader ,sizeof(BITMAPFILEHEADER));
// 读取bitmapinfoheader
file.read((char*)&bitmap->bitmapinfoheader ,sizeof(BITMAPINFOHEADER));
// 定位文件指针
file.seekg(bitmap->bitmapfileheader.bfOffBits);
//读取位图数据
file.read ((char*)bitmap->buffer,bitmap->bitmapinfoheader.biSizeImage );
注意我读取的不是8位,位图所以我不管调色板.
我想将windows游戏编程大师技巧中的读取位图函数改写成用C++标准程序库中的FSTREAM.
像这样读取位图文件有错吗? |
|