C语言读取BMP格式的图片

转载一篇文章: BMP文件格式分析 把BMP图片的格式解释的很清楚。


其中BMP头文件的格式可以定义为:

#ifndef BITMAPINFO_H
#define BITMAPINFO_H

typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef long LONG;

//bitmap file header
typedef struct tagBITMAPFILEHEADER
{
	WORD bfType;		//文件类型  
	DWORD bfSize;		//文件大小
	WORD bfReserved1;	//保留字
	WORD bfReserved2;	//保留字
	DWORD bfoffBits;	//从文件头到实际位图数据的偏移字节数
}BITMAPFILEHEADER;

//bitmap information head
typedef struct tagBITMAPINFOHEADER
{
	DWORD biSize;			//信息头大小
	LONG biHeight;			//图像宽度
	LONG biWidth;			//图像高度
	WORD biPlanes;			//位平面数,必须为1
	WORD biBitCount;		//像素位数
	DWORD biCompression;	<span style="white-space:pre">	</span>//压缩类型
	DWORD biSizeImage;		//压缩图像大小字节数
	LONG biXPelsPerMeter;	<span style="white-space:pre">	</span>//水平分辨率
	LONG biYPelsPerMeter;	<span style="white-space:pre">	</span>//垂直分辨率
	DWORD biClrUsed;		//位图实际用到的色彩数
	DWORD biClrImportant;	<span style="white-space:pre">	</span>//本位图中重要的色彩数
}BITMAPINFOHEADER;

//bitmap palette/color table
typedef struct tagRGBQUAD
{
	BYTE rgbBlue;
	BYTE rgbGreen;
	BYTE rgbRed;
	BYTE rgbReserved;
}RGBQUAD;

//bitmap data
typedef struct tagIMAGEDATA
{
	BYTE blue;
	BYTE green;
	BYTE red;
}IMAGEDATA;

#endif
完整实验代码可在这里下载: http://download.csdn.net/detail/zyttae/8419623

其结果是读取一张bmp格式的图片并写入工程文件夹下。命名为“out.bmp”

猜你喜欢

转载自blog.csdn.net/ZYTTAE/article/details/43448995