描述
BITMAPINFO结构定义了DIB的尺寸和颜色信息。
C++ 语法
typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO, *PBITMAPINFO; |
PowerBASIC 语法
TYPE BITMAPINFO bmiHeader AS BITMAPINFOHEADER bmiColors(0) AS RGBQUAD END TYPE |
成员
bmiHeader
指定一个BITMAPINFOHEADER结构,其中包含有关颜色格式尺寸的信息。
bmiColors
bmiColors成员包含以下之一:
· | 数组RGBQUAD.组成颜色表的数组元素。 |
· | 16位无符号整数数组,用于指定当前实现的逻辑调色板的索引。对于使用DIB的功能,允许使用bmiColors.当bmiColors元素包含实现的逻辑调色板的索引时,它们还必须调用以下位图函数: |
CreateDIBitmap
CreateDIBPatternBrush
CreateDIBSection
CreateDIBSection的iUsage参数必须设置为DIB_PAL_COLORS。
数组中的条目数取决于BITMAPINFOHEADER结构的biBitCount和biClrUsed成员的值。
bmiColors表中的颜色按照重要性的顺序显示。有关详细信息,请参阅备注部分。
备注
DIB由两个不同的部分组成:描述位图的尺寸和颜色的BITMAPINFO结构以及定义位图像素的字节数组。阵列中的位打包在一起,但每条扫描线必须用零填充才能在LONG数据类型边界上结束。如果位图的高度为正,则位图是自下而上的DIB,其原点是左下角。如果高度为负,则位图是自顶向下的DIB,其原点是左上角。
当位图数组紧跟在BITMAPINFO头后时,位图是打包的。打包位图由单个指针引用。对于打包位图,使用DIB_PAL_COLORS模式时,biClrUsed成员必须设置为偶数,以便DIB位图数组在DWORD边界上启动。
注意如果位图要存储在文件中或转移到另一个应用程序,则bmiColors成员不应包含调色板索引。
除非应用程序具有独占使用和位图的控制,否则位图颜色表应包含显式的RGB值。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)