一、了解BMP文件的格式:位图文件头、位图信息段、调色板信息(一般都没有)、位图数据,各部分关键字段。
详细信息参见:http://blog.csdn.net/lanbing510/article/details/8176231
读取BMP文件的函数所需要的头文件:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include "bmpstru.h"
#define Malloc(type, n) (type *)malloc(n * sizeof(type))
二中的结构体定义我建立了一个头文件 "bmpstru.h",并且将该函数封装了,以后使用直接调用。
二、bmpstru.h中构造位图文件头、位图信息段、位图数据结构体
1)位图文件头
typedef struct BmpHeader{
char bfType[10];
int bfSize;
int bfReserved1;
int bfReserved2;
int bfoffBits;
} BMPHEADER;
2)位图信息段
typedef struct BmpInfoHeader{
int biSize;
int biWidth;
int biHeight;
int bitPlanes;
int biBitCount;
int biCompression;
int biSizeImage;
int biXPelsPerMeter;