wingdi.h


CreateDIBitmap

Crea un mapa de bits dependiente del dispositivo (DDB) a partir de un mapa de bits independiente del dispositivo (DIB) y, opcionalmente, actualiza los bits del mapa de bits.

Sintaxis

HBITMAP CreateDIBitmap(
    HDC hdc,                          // manipulador de contexto de dispositivo
    CONST BITMAPINFOHEADER * lpbmih,  // dirección del tamaño y formato de datos del mapa de bits
    DWORD fdwInit,                    // flag de inicialización
    CONST VOID  *lpbInit,             // dirección de los datos de inicialización
    CONST BITMAPINFO * lpbmi,         // dirección de los datos de formato de color del mapa de bits
    UINT fuUsage                      // uso de los datos de color
   );

Parámetros

hdc: identifica un contexto de dispositivo.

lpbmih: apunta a una estructura BITMAPINFOHEADER.

Si fdwInit es CBM_INIT, la función usa la estructura BITMAPINFOHEADER para obtener la anchura y altura deseados para el mapa de bits como otra información. Un valor positivo de altura indica que el DIB es de abajo a arriba mientras que un valor negativo indica que se trata de un DIB de arriba a abajo. Este escenario es compatible con la función CreateDIBitmap.

fdwInit: un conjunto de bits flags que especifican cómo inicializará el sistema operativo los bits del mapa de bits.

Se definen los siguientes valores de bits flags:

Valor Significado
CBM_INIT Si este flag está activo, el sistema operativo usa los datos apuntados por los parámetros lpbInit y lpbmi para inicializar los bits del mapa de bits. Si este flag está inactivo, los datos apuntados por esos parámetros no se usan.

Si fdwInit es cero, el sistema operativo no inicializa los bits del mapa de bits.

lpbInit: apunta a un array de bytes que contienen los datos iniciales del mapa de bits. El formato de estos datos depende de miembro biBitCount de la estructura BITMAPINFO apuntada por el parámetro lpbmi.

lpbmi: apunta a una estructura BITMAPINFO que describe las dimensiones y el formato de color del array apuntado por el parámetro lpbInit.

uUsage: especifica si el miembro bmiColors de la estructura BITMAPINFO fue inicializado y, si lo fue, si bmiColors contiene valores explícitos rojo, azul y verde (RGB) o índices de paleta. El parámetro fuUsage debe ser uno de los siguientes valores:

Valor Significado
DIB_PAL_COLORS Se proporciona una tabla de colores y consiste en un array de índices de 16 bits dentro de la paleta lógica del contexto de dispositivo dentro del cual el mapa de bits va a ser seleccionado.
DIB_RGB_COLORS Se proporciona una tabla de colores y contiene valore literales RGB.

Valor de retorno

Si la función tiene éxito, el valor de retorno es un manipulador del mapa de bits.

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

Observaciones

El flag CBM_CREATDIB para el parámetro fdwInit ya no está soportado.

Cuando el mapa de bits ya no sea necesario, llamar a DeleteObject para borrarlo.