CreateDIBPatternBrush函数创建一个逻辑画笔,该画笔具有指定的与设备无关的位图(DIB)指定的模式。随后可以将刷子选择到与支持光栅操作的设备相关联的任何设备上下文中。
此函数仅适用于为早于3.0的Windows版本编写的应用程序的兼容性。对于基于Win32的应用程序,请使用CreateDIBPatternBrushPt功能。
HBRUSH CreateDIBPatternBrush(
HGLOBAL 【hglbDIBPacked】, | //处理与设备无关的位图 |
UINT 【fuColorSpec】 | //颜色表数据 |
); |
参数
【hglbDIBPacked】
标识一个包含打包DIB的全局内存对象,该DIB由BITMAPINFO结构组成,紧随其后是定义位图像素的字节数组。
Windows 95:不支持从位图大于8x8像素的DIB创建画笔。如果指定了较大的位图,则仅使用位图的一部分。
【fuColorSpec】
指定是否初始化BITMAPINFO结构的bmiColors成员,如果是,该成员是否将明确的红色,绿色,蓝色(RGB)值或索引包含在逻辑调色板中。【fuColorSpec】参数必须是以下值之一:
值 | 含义 |
DIB_PAL_COLORS | 提供一个颜色表,并由一个16位索引的数组组成,该数组指向要选择画笔的设备上下文的逻辑调色板。 |
DIB_RGB_COLORS | 提供了颜色表并包含文字RGB值。 |
返回值
如果函数成功,则返回值标识一个逻辑画笔。
如果函数失败,返回值为NULL。
备注
当应用程序将双色DIB图案画笔选择为单色设备上下文时,Windows不会确认DIB中指定的颜色;而是使用设备上下文的当前背景和前景颜色显示图案画笔。使用前景颜色显示映射到DIB的第一个颜色(DIB颜色表中的偏移量0)的像素;使用背景颜色显示映射到第二种颜色(颜色表中的偏移量1)的像素。
当您不再需要画笔时,请调用DeleteObject功能将其删除。
也可以看看
BITMAPINFO, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush, DeleteObject, SetBkColor, SetTextColor