BITMAP结构:
BITMAP 结构定义了一个位图的类型,宽度,高度,颜色格式和位数据值。
结构原型:
typedef struct tagBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP, *PBITMAP;
成员解析:
|
成员 |
含义 |
|
bmType |
指定位图类型,该成员的值必须为 0 |
|
bmWidth |
以像素为单位指定位图的宽度,该值必须大于 0 |
|
bmHeight |
以像素为单位指定位图的高度,该值必须大于 0 |
|
bmWidthBytes |
每个扫描行的字节数,该值必须是偶数,因为系统假定位图的位数据值组成一个数组,并且这个数组是以一个字长对齐的 |
|
bmPlanes |
彩色位面数 |
|
bmBitsPixel |
指定一个像素颜色所需要的位的数目 |
|
bmBits |
指向位图位数据值位置的指针,该成员必须是指向字符(一个字节)数组的指针 |
备注:
1. 目前使用的位图格式是单色和彩色。单色位图使用 1 位 1 平面格式。每次扫描是 16 位的倍数。
2. 对高度为 n 的单色位图,按照如下方式扫描:
Scan 0
Scan 1
.
.
.
Scan n-2
Scan n-1
3. 单色设备的像素要么是黑色,要么是白色。如果位图中对应的位是 1,那么像素被设为前景色。如果位图中对应的位是 0 ,像素被设为背景色。
4. 所有具有 RC_BITBLT 设备能力的设备支持位图。更多信息,请参考 GetDeviceCaps。
5. 每个设备具有唯一颜色格式。为了从一个设备传输位图到另一个设备,请使用 GetDIBits 和 SetDIBits 函数。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Wingdi.h (包含于 Windows.h) |




