BITMAP :
The BITMAP structure structure defines the height, width, color format, and bit values of a logical bitmap.
该结构定义了逻辑位图的高度、宽度、颜色格式和位值。
/* Bitmap Header Definition */
typedef struct tagBITMAP
{
LONG bmType;//指定了位图的类型,对于逻辑位图该参数必须为0
LONG bmWidth;//指定了位图的宽度(以字节为单位),必须大于0
LONG bmHeight;//指定了位图的高度(以字节为单位),必须大于0</span>
LONG bmWidthBytes;//每行字节数,4位对齐
WORD bmPlanes;//指定了颜色平面数
WORD bmBitsPixel;//指定了每个像素的位数,比如RGB每个像素占3个字节,即24位
LPVOID bmBits;//指向位图数据内存的地址
} BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP;
BITMAPINFO :
The BITMAPINFO structure defines the dimensions and color information for a DIB.
该结构定义了DIB(设备无关位图)的大小和颜色信息。
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;//一个BITMAPINFOHEAD结构体,它包含了关于大小尺寸和颜色格式信息
RGBQUAD bmiColors[1];//1、RGBQUAD数组,每个项组成了颜色表 2、16位无符号整型数组,指定了当前以实现的逻辑调色板的索引
} BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO;
BITMAPINFOHEADER
The BITMAPINFOHEADER structure contains information about the dimensions and color format of a DIB.
该结构包含了一些关于DIB大小尺寸和颜色格式的信息。
typedef struct tagBITMAPINFOHEADER{
DWORD biSize;//该结构体所要求的字节数
LONG biWidth;//位图的宽度,以字节为单位
LONG biHeight;//位图的高度,以字节为单位
WORD biPlanes;//目标设备的平面数,必须为1
WORD biBitCount;//每个像素的位数
DWORD biCompression;//位图的压缩类型
DWORD biSizeImage;//位图的大小,以字节为单位
LONG biXPelsPerMeter;//位图水平分辨率,以每米多少像素为单位
LONG biYPelsPerMeter;//位图垂直分辨率,以每米多少像素为单位</span>
DWORD biClrUsed;//位图实际所使用的颜色的数量
DWORD biClrImportant;//显示位图时所需要的颜色(指数)的数量,如果为0那么所有的颜色都被需要
} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;