描述
BITMAPCOREINFO结构定义了DIB的尺寸和颜色信息。
C++ 语法
typedef struct _BITMAPCOREINFO { BITMAPCOREHEADER bmciHeader; RGBTRIPLE bmciColors[1]; } BITMAPCOREINFO, *PBITMAPCOREINFO; |
PowerBASIC 语法
TYPE BITMAPCOREINFO bmciHeader AS BITMAPCOREHEADER bmciColors(0) AS RGBTRIPLE END TYPE |
成员
bmciHeader
指定一个BITMAPCOREHEADER结构,其中包含有关DIB的尺寸和颜色格式的信息。
bmciColors
指定定义位图中颜色的RGBTRIPLE结构的数组。
备注
DIB由两部分组成:描述位图的尺寸和颜色的BITMAPCOREINFO结构以及定义位图像素的字节数组。阵列中的位打包在一起,但是每个扫描线必须用零填充才能在LONG边界上结束。位图的原点是左下角。
BITMAPCOREHEADER结构的bcBitCount成员确定了位图中定义每个像素的位数和最大颜色数。该成员可以是以下值之一。
值 |
含义 |
1 |
位图是单色的,bmciColors成员包含两个条目。位图数组中的每一位表示一个像素。如果该位清除,则像素将以bmciColors表中第一个条目的颜色显示;如果该位被设置,则该像素具有表中第二条目的颜色。 |
4 |
位图最多有16种颜色,bmciColors成员最多包含16个条目。位图中的每个像素由颜色表中的4位索引表示。例如,如果位图中的第一个字节为&H1F,则该字节表示两个像素。第一像素包含第二表条目中的颜色,第二像素包含第十六表条目中的颜色。 |
8 |
位图最多有256种颜色,bmciColors成员最多包含256个条目。在这种情况下,阵列中的每个字节表示单个像素。 |
24 |
位图最多有2(24)种颜色,而bmciColors成员为NULL。位图阵列中的每个三字节三元组分别表示像素的蓝色,绿色和红色的相对强度。 |
bmciColors表格中的颜色应按重要程度排列。
或者,对于使用DIB的函数,bmciColors成员可以是16位无符号整数的数组,它们将索引指定到当前实现的逻辑调色板中,而不是显式RGB值。在这种情况下,使用位图的应用程序必须使用设置为DIB_PAL_COLORS的iUsage参数调用DIB函数(CreateDIBitmap,CreateDIBPatternBrush和CreateDIBSection)。
注意如果位图要存储在文件中或转移到另一个应用程序,bmciColors成员不应包含调色板索引。除非应用程序具有独占使用和位图的控制,否则位图颜色表应包含显式的RGB值。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)