位图结构 (wingdi.h)

BITMAP 结构定义位图的类型、宽度、高度、颜色格式和位值。

语法

typedef struct tagBITMAP {
  LONG   bmType;
  LONG   bmWidth;
  LONG   bmHeight;
  LONG   bmWidthBytes;
  WORD   bmPlanes;
  WORD   bmBitsPixel;
  LPVOID bmBits;
} BITMAP, *PBITMAP, *NPBITMAP, *LPBITMAP;

成员

bmType

位图类型。 此成员必须为零。

bmWidth

位图的宽度(以像素为单位)。 宽度必须大于零。

bmHeight

位图的高度(以像素为单位)。 高度必须大于零。

bmWidthBytes

每个扫描行中的字节数。 此值必须可被 2 整除,因为系统假定位图的位值构成一个单词对齐的数组。

bmPlanes

颜色平面的计数。

bmBitsPixel

指示像素颜色所需的位数。

bmBits

指向位图位值位置的指针。 bmBits 成员必须是指向字符数组的指针, (1 字节) 值。

注解

当前使用的位图格式为单色和彩色。 单色位图使用单位单平面格式。 每个扫描是 16 位的倍数。

对于高度 n 的单色位图,扫描的组织方式如下:


    Scan 0 
    Scan 1 
    . 
    . 
    . 
    Scan n-2 
    Scan n-1 

单色设备的像素是黑色或白色。 如果位图中的对应位为 1,则像素设置为前景色;如果位图中的对应位为零,则像素设置为背景色。

具有RC_BITBLT设备功能的所有设备都支持位图。 有关详细信息,请参阅 GetDeviceCaps

每个设备都有唯一的颜色格式。 若要将位图从一台设备传输到另一台设备,请使用 GetDIBitsSetDIBits 函数。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 wingdi.h (包括 Windows.h)

另请参阅

位图结构

位图概述

CreateBitmapIndirect

GetDIBits

GetDeviceCaps

GetObject

SetDIBits