描述
CreateDIBPatternBrush函数创建一个逻辑画笔,其具有由指定的与设备无关的位图(DIB)指定的模式。随后可以将刷子选择到与支持光栅操作的设备相关联的任何设备上下文中。
注意此函数仅用于与16位版本的Windows兼容。应用程序应使用CreateDIBPatternBrushPt功能。
C++ 语法
HBRUSH CreateDIBPatternBrush( __in HGLOBAL hglbDIBPacked, __in UINT fuColorSpec ); |
PowerBASIC 语法
FUNCTION CreateDIBPatternBrush( _ hglbDIBPacked AS DWORD, _ fuColorSpec AS DWORD _ ) AS DWORD |
参数
hglbDIBPacked
[in]处理包含打包DIB的全局内存对象,该DIB由BITMAPINFO结构组成,紧随其后是定义位图像素的字节数组。
Windows 95:不支持从大于8 x 8像素的位图或DIB创建画笔。如果指定了较大的位图,则仅使用位图的一部分。
Windows 98 / Me和Windows NT / 2000 / XP / Vista / Windows 7:可以从大于8 x 8像素的位图或DIB创建画笔。
fuColorSpec
[in]指定BITMAPINFO结构的bmiColors成员是否已初始化,如果是,该成员是否包含显式的红色,绿色,蓝色(RGB)值或索引到逻辑调色板。fuColorSpec参数必须是以下值之一。
值 |
含义 |
DIB_PAL_COLORS |
提供了颜色表,并将16位索引的数组组成到要选择画笔的设备上下文的逻辑调色板中。 |
DIB_RGB_COLORS |
提供了颜色表并包含文字RGB值。 |
返回值
如果函数成功,则返回值标识一个逻辑画笔。
如果函数失败,返回值为NULL。
Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.
备注
当应用程序将双色DIB图案画笔选择为单色设备上下文时,系统不会确认DIB中指定的颜色;而是使用设备上下文的当前背景和前景颜色显示图案画笔。使用前景颜色显示映射到DIB的第一个颜色(DIB颜色表中的偏移量0)的像素;使用背景颜色显示映射到第二种颜色(颜色表中的偏移量1)的像素。
当您不再需要画笔时,请调用DeleteObject功能将其删除。
ICM:刷子创建时没有颜色。但是,当将刷子选择为启用ICM的设备上下文时,执行颜色管理。
引用文件 #INCLUDE Once
WinGdi.inc(包括Windows.inc)