小甲鱼 发表于 2016-3-30 03:06:24

BITMAP 结构

注:本文档由 Diu 翻译,小甲鱼校对。

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 clientWindows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Wingdi.h (包含于 Windows.h)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

页: [1]
查看完整版本: BITMAP 结构