紧接着文件头的40个字节,是信息头,这样文件头的大小加上信息头的大小14+40正好等于54字节。 28 00 00 00:信息头大小,为40字节; 40 01 00 00:图像宽度,为320像素; E6 00 00 00:图像高度,为230像素; 01 00:图像设备等级; 18 00:颜色深度,为24位; 00 00 00 00:压缩格式,表示未压缩; 80 5E 03 00:数据区字节数,等于文件大小减去信息区(54字节),也等于总像素数乘3; 后面到横线前的零不经常使用, 我们不去管它。 3、使用VC读取信息区信息的定义和代码: 文件头结构体定义: typedef struct _BMPFileHeader { unsigned char B; unsigned char M; unsigned long FileSize; unsigned long Reserved1; unsigned long HeaderLength;
}BMPFileHeader; 信息头结构体定义: typedef struct _BMPFileInfo { unsigned long InfoSize; unsigned long ImageWidth; unsigned long ImageHeight; unsigned int Level; unsigned int ColorDepth; unsigned long Compress; unsigned long PixelBytes; unsigned long horizon; unsigned long vertical; unsigned long offset1; unsigned long offset2; }BMPFileInfo; 定义自己的结构体: BMPFileHeader MyHeader; BMPFileInfo MyInfo; 读取并打印文件头数据函数: void PrintBMPHeader()//打印BMP文件头 { FILE *mybmp; mybmp=fopen(FILEPATH,"r");
文章评论(0条评论)
登录后参与讨论