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

BITMAPCOREINFO

Previous pageReturn to chapter overviewNext page

描述

 

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函数(CreateDIBitmapCreateDIBPatternBrushCreateDIBSection)。

 

注意如果位图要存储在文件中或转移到另一个应用程序,bmciColors成员不应包含调色板索引。除非应用程序具有独占使用和位图的控制,否则位图颜色表应包含显式的RGB值。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)