勇芳软件工作室.汉化:  Bitmaps > Bitmap Structures >

BITMAPINFO

Previous pageReturn to chapter overviewNext page

描述

 

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结构的biBitCountbiClrUsed成员的值。

 

bmiColors表中的颜色按照重要性的顺序显示。有关详细信息,请参阅备注部分。

 

备注

 

DIB由两个不同的部分组成:描述位图的尺寸和颜色的BITMAPINFO结构以及定义位图像素的字节数组。阵列中的位打包在一起,但每条扫描线必须用零填充才能在LONG数据类型边界上结束。如果位图的高度为正,则位图是自下而上的DIB,其原点是左下角。如果高度为负,则位图是自顶向下的DIB,其原点是左上角。

 

当位图数组紧跟在BITMAPINFO头后时,位图是打包的。打包位图由单个指针引用。对于打包位图,使用DIB_PAL_COLORS模式时,biClrUsed成员必须设置为偶数,以便DIB位图数组在DWORD边界上启动。

 

注意如果位图要存储在文件中或转移到另一个应用程序,则bmiColors成员不应包含调色板索引。

 

除非应用程序具有独占使用和位图的控制,否则位图颜色表应包含显式的RGB值。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)