wingdi.h


CreateDIBPatternBrush

Crea un pincel lógico con un patrón especificado mediante un mapa de bits independiente de dispositivo (DIB). El pincel puede ser seleccionado a continuación dentro de un contexto de dispositivo que esté asociado con un dispositivo que soporte operaciones "raster".

Sintaxis

HBRUSH CreateDIBPatternBrush(
    HGLOBAL hglbDIBPacked, // manipulador de bitmap independiente del dispositivo
    UINT fuColorSpec       // datos de tabla de colores
   );

Parámetros:

hglbDIBPacked: identifica a un objeto en la memoria global que contiene un DIB empaquetado, que consiste en una estructura BITMAPINFO e inmediatamente a continuación un array de bytes que definen los pixels del mapa de bits.

fuColorSpec: especifica si el miembro bmiColors de la estructura BITMAPINFO está inicializado y, si es así, si ese miembro contiene valores explícitos de rojo, verde y azul (RGB) o índices de una paleta lógica. El parámetro fuColorSpec debe ser uno de los siguientes valores:

Valor Significado
DIB_PAL_COLORS Se proporciona una tabla de colores que consiste en un array de índices de 16-bit de la paleta lógica del contexto de dispositivo dentro del cual se seleccione el pincel.
DIB_RGB_COLORS Se proporciona un tabla de colores que consisten en valores RGB.

Valor de retorno

Si la función tiene éxito, el valor de retorno es un manipulador que identifica al pincel.

Si la función falla, el valor de retorno es NULL.

Observaciones

Cuando una aplicación selecciona un pincel con un patrón DIB de dos colores en un contexto de dispositivo monocromo, Windows no reconocerá los colores especificados en el DIB; en su lugar, mostrará el pincel de patrón usando los colores actuales de fondo y primer plano del contexto de dispositivo. Los pixels del mismo color que el primer color del DIB (desplazamiento 0 en la tabla de colores del DIB), se muestran usando el color del primer plano. Los del segundo color (desplazamiento 1 en la tabla de colores del DIB), se muestran usando el color de fondo.

Cuando no se necesite el pincel, hay que llamar a la función DeleteObject para borrarlo.

Windows 95: no es posible crear pinceles a partir de mapas de bits o DIBs mayores de 8x8 pixels. Si se usa un mapa de bits mayor, sólo se usará una porción del mapa de bits.