鱼C论坛

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

[API档案] BITMAPINFO 结构

[复制链接]
发表于 2016-4-2 04:13:20 | 显示全部楼层 |阅读模式

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

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

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

BITMAPINFO 结构:

BITMAPINFO 结构定义了一个 DIB(设备无关位图)的维度和颜色信息。


结构原型:
typedef struct tagBITMAPINFO {
  BITMAPINFOHEADER bmiHeader;
  RGBQUAD          bmiColors[1];
} BITMAPINFO, *PBITMAPINFO;

成员解析:

成员 含义
bmiHeader 一个包含颜色格式维度信息的 BITMAPINFOHEADER 结构
bmiColors bmiColors 成员包含下列中的一个:
  • 一个 RGBQUAD 数组,并且数组的成员构成了颜色表
  • 一个 16 位无符号整数构成的数组,并且整数指定了当前实现的逻辑调色板的索引。只允许那些使用 DIB 的函数使用这种 bmiColors。当 bmiColors 成员包含已经实现的逻辑调色板的索引时,必须同时调用下列的位图函数:

CreateDIBitmap

CreateDIBPatternBrush

CreateDIBSection

CreateDIBSection 函数的 iUsage 参数必须设为 DIB_PAL_COLORS

数组中条目的数量取决于 BITMAPINFOHEADER 结构中 biBitCount 和 biClrUsed 成员的值

bmiColors 中的颜色按照重要性的顺序显示。更多信息,请参见备注部分



备注:

1. 一个 DIB 包含两个不同的部分:一个描述位图维度和颜色信息的 BITMAPINFO 结构,和一个定义位图像素的字节数组。数组中的位被填充在一起,但每个扫描行必须用零填充,以在一个 LONG 数据类型的边界上结束。如果位图的高度是正数,那么位图是一个自下而上的 DIB,并且它的源点是左下角。如果位图的高度是负数,那么位图是一个自上而下的 DIB,并且它的源点是左上角。

2. 当位图数组紧跟在 BITMAPINFO 头之后,那么位图是被填充的位图。并且填充的位图被一个单一的指针引用。对于填充的位图,当使用 DIB_PAL_COLORS 模式时,biClrUsed 成员必须设置为偶数让 DIB 位图数组从 DWORD 边界上开始。

注意:

  • 如果要将位图存储在文件中或转移到另一个应用程序中,那么 bmiColors 成员不应包含调色板索引
  • 位图颜色表中应包含显式的 RGB 值,除非应用程序已经以独占模式使用和控制位图


需求:

Minimum supported client Windows 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-12-22 09:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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