鱼C论坛

 找回密码
 立即注册
查看: 2995|回复: 0

[API档案] BITMAP 结构

[复制链接]
发表于 2016-3-30 03:06:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

BITMAP结构:

BITMAP 结构定义了一个位图的类型,宽度,高度,颜色格式和位数据值。


结构原型:

  1. typedef struct tagBITMAP {
  2.   LONG   bmType;
  3.   LONG   bmWidth;
  4.   LONG   bmHeight;
  5.   LONG   bmWidthBytes;
  6.   WORD   bmPlanes;
  7.   WORD   bmBitsPixel;
  8.   LPVOID bmBits;
  9. } BITMAP, *PBITMAP;
复制代码


成员解析:

成员 含义
bmType 指定位图类型,该成员的值必须为 0
bmWidth 以像素为单位指定位图的宽度,该值必须大于 0
bmHeight 以像素为单位指定位图的高度,该值必须大于 0
bmWidthBytes 每个扫描行的字节数,该值必须是偶数,因为系统假定位图的位数据值组成一个数组,并且这个数组是以一个字长对齐的
bmPlanes 彩色位面数
bmBitsPixel 指定一个像素颜色所需要的位的数目
bmBits 指向位图位数据值位置的指针,该成员必须是指向字符(一个字节)数组的指针


备注:

1. 目前使用的位图格式是单色和彩色。单色位图使用 1 位 1 平面格式。每次扫描是 16 位的倍数。

2. 对高度为 n 的单色位图,按照如下方式扫描:
  1.     Scan 0
  2.     Scan 1
  3.     .
  4.     .
  5.     .
  6.     Scan n-2
  7.     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)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 20:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表