BMP图片是位图(bitmap),一般未压缩,要读取BMP文件只要知道它的文件结构就可以了,具体格式可以百度或者google,就不多说了,几个重要的点在代码里面有注释。
/**
c语言读取位图信息
**/
#include
#include
#define BM 19778// 位图的标志
#define PATH "d:\\test.bmp" //打开的文件路径
//判断是否是位图,在0-1字节
int IsBitMap(FILE *fp)
{
unsigned short s;
fread(&s,1,2,fp);
if(s==BM)
return 1;
else
return 0;
}
//获得图片的宽度,在18-21字节
long getWidth(FILE *fp)
{
long width;
fseek(fp,18,SEEK_SET);
fread(&width,1,4,fp);
return width;
}
//获得图片的高度 ,在22-25字节
long getHeight(FILE *fp)
{
long height;
fseek(fp,22,SEEK_SET);
fread(&height,1,4,fp);
return height;
}
//获得每个像素的位数,在28-29字节