BITMAP 结构

BITMAP framework 定义了一个逻辑位图**.**的高度、宽度、颜色和格式位值

typedef struct tagBITMAP {  /* bm */
   int bmType;
   int bmWidth;
   int bmHeight;
   int bmWidthBytes;
   BYTE bmPlanes;
   BYTE bmBitsPixel;
   LPVOID bmBits;
} BITMAP;

参数

  • bmType
    指定位图类型。与逻辑位图,此成员必须为 0。

  • bmWidth
    以像素为单位指定位图的宽度。此宽度都必须大于 0。

  • bmHeight
    光栅行指定位图的高度。该高度都必须大于 0。

  • bmWidthBytes
    在每光栅行指定字节数。此值必须是偶数,因为图形设备 (GDI)接口,假设位图的位值窗体整数 (2 字节) 值。换言之, bmWidthBytes * 8 必须是下的倍数 16 大于或等于获取的值,当 bmWidth 成员乘以 bmBitsPixel 成员时。

  • bmPlanes
    在位图指定颜色产生的数目。

  • bmBitsPixel
    在必要的每帧的结束平面指定相邻颜色的位数定义像素。

  • bmBits
    指向位值的位置位图的。bmBits 成员必须是较长的指针为 1 字节的值。

备注

当前使用的位图格式是纯色和颜色。单色位图,使用 1 位 1 平面格式。每个扫描是 16 位的多个。

扫描按如下方式组织为高度 n一单色位图:

Scan 0

Scan 1

.

.

.

Scan n-2

Scan n-1

在一个纯色设备的像素是黑色或白色。如果在位图中对应的位均为 1 像素,打开 (白色)。如果在位图中对应的位均为 0 像素,关闭 (黑色)。

所有设备支持具有 bit 设置的 RC_BITBLTCDC::GetDeviceCaps 成员函数的 RASTERCAPS 索引的位图。

每个设备具有自己的唯一颜色格式。为了从计算机调用位图到另一个,请使用 GetDIBitsSetDIBits windows 函数。

要求

Header: wingdi.h

请参见

参考

CBitmap::CreateBitmapIndirect

其他资源

结构、样式、回调和消息映射