Función CreateDIBitmap (wingdi.h)

La función CreateDIBitmap crea un mapa de bits compatible (DDB) a partir de una DIB y, opcionalmente, establece los bits de mapa de bits.

Sintaxis

HBITMAP CreateDIBitmap(
  [in] HDC                    hdc,
  [in] const BITMAPINFOHEADER *pbmih,
  [in] DWORD                  flInit,
  [in] const VOID             *pjBits,
  [in] const BITMAPINFO       *pbmi,
  [in] UINT                   iUsage
);

Parámetros

[in] hdc

Identificador de un contexto de dispositivo.

[in] pbmih

Puntero a una estructura de encabezado de información de mapa de bits, BITMAPV5HEADER.

Si fdwInit es CBM_INIT, la función usa la estructura del encabezado de información de mapa de bits para obtener el ancho y alto deseados del mapa de bits, así como otra información. Tenga en cuenta que un valor positivo para el alto indica una DIB de abajo arriba mientras que un valor negativo para la altura indica una DIB de arriba abajo. Llamar a CreateDIBitmap con fdwInit como CBM_INIT equivale a llamar a la función CreateCompatibleBitmap para crear una DDB en el formato del dispositivo y, a continuación, llamar a la función SetDIBits para traducir los bits DIB a DDB.

[in] flInit

Especifica cómo inicializa el sistema los bits de mapa de bits. Se define el siguiente valor.

Valor Significado
CBM_INIT
Si se establece esta marca, el sistema usa los datos a los que apuntan los parámetros lpbInit y lpbmi para inicializar los bits de mapa de bits.

Si esta marca está desactivada, no se usan los datos a los que apunta esos parámetros.

 

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

[in] pjBits

Puntero a una matriz de bytes que contiene los datos iniciales del mapa de bits. El formato de los datos depende del miembro biBitCount de la estructura BITMAPINFO a la que apunta el parámetro lpbmi .

[in] pbmi

Puntero a una estructura BITMAPINFO que describe las dimensiones y el formato de color de la matriz a la que apunta el parámetro lpbInit .

[in] iUsage

Especifica si el miembro rgbColors de la estructura BITMAPINFO se inicializó y, si es así, si el color corporal contiene valores explícitos rojo, verde, azul (RGB) o índices de paleta. El parámetro fuUsage debe ser uno de los valores siguientes.

Valor Significado
DIB_PAL_COLORS
Se proporciona una tabla de colores y consta de una matriz de índices de 16 bits en la paleta lógica del contexto del dispositivo en el que se va a seleccionar el mapa de bits.
DIB_RGB_COLORS
Se proporciona una tabla de colores y contiene valores RGB literales.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador para el mapa de bits compatible.

Si la función no se realiza correctamente, el valor devuelto es NULL.

Comentarios

La DDB que se crea será la profundidad de bits que tenga el controlador de dominio de referencia. Para crear un mapa de bits con una profundidad de bits diferente, use CreateDIBSection.

Para que un dispositivo alcance una velocidad óptima de dibujo de mapa de bits, especifique fdwInit como CBM_INIT. A continuación, use la misma DIB de profundidad de color que el modo de vídeo. Cuando el vídeo se ejecute de 4 o 8 bpp, use DIB_PAL_COLORS.

Ya no se admite la marca CBM_CREATDIB para el parámetro fdwInit .

Cuando ya no necesite el mapa de bits, llame a la función DeleteObject para eliminarlo.

ICM: No se realiza ninguna administración de colores. El contenido del mapa de bits resultante no coincide con el color después de crear el mapa de bits.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wingdi.h (incluye Windows.h)
Library Gdi32.lib
Archivo DLL Gdi32.dll

Consulte también

BITMAPINFO

BITMAPINFOHEADER

Funciones de mapa de bits

Información general sobre mapas de bits

CreateCompatibleBitmap

CreateDIBSection

DeleteObject

GetDeviceCaps

GetSystemPaletteEntries

SelectObject

SetDIBits