Función SetDIBits (wingdi.h)

La función SetDIBits establece los píxeles en un mapa de bits compatible (DDB) con los datos de color encontrados en la DIB especificada.

Sintaxis

int SetDIBits(
  [in] HDC              hdc,
  [in] HBITMAP          hbm,
  [in] UINT             start,
  [in] UINT             cLines,
  [in] const VOID       *lpBits,
  [in] const BITMAPINFO *lpbmi,
  [in] UINT             ColorUse
);

Parámetros

[in] hdc

Identificador de un contexto de dispositivo.

[in] hbm

Identificador del mapa de bits compatible (DDB) que se va a modificar mediante los datos de color de la DIB especificada.

[in] start

Línea de examen inicial para los datos de color independientes del dispositivo de la matriz a las que apunta el parámetro lpvBits .

[in] cLines

Número de líneas de examen que se encuentran en la matriz que contiene datos de color independientes del dispositivo.

[in] lpBits

Puntero a los datos de color dib, almacenados como una matriz de bytes. El formato de los valores de mapa de bits depende del miembro biBitCount de la estructura BITMAPINFO a la que apunta el parámetro lpbmi .

[in] lpbmi

Puntero a una estructura BITMAPINFO que contiene información sobre la DIB.

[in] ColorUse

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

Valor Significado
DIB_PAL_COLORS
La tabla de colores consta de una matriz de índices de 16 bits en la paleta lógica del contexto del dispositivo identificado por el parámetro hdc .
DIB_RGB_COLORS
Se proporciona la tabla de colores y contiene valores RGB literales.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es el número de líneas de examen copiadas.

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

Puede ser el siguiente valor.

Código devuelto Descripción
ERROR_INVALID_PARAMETER
Uno o varios de los parámetros de entrada no son válidos.

Comentarios

La velocidad óptima del dibujo del mapa de bits se obtiene cuando los bits de mapa de bits se indexa en la paleta del sistema.

Las aplicaciones pueden recuperar los colores e índices de la paleta del sistema mediante una llamada a la función GetSystemPaletteEntries . Una vez recuperados los colores e índices, la aplicación puede crear la DIB. Para obtener más información, vea Paleta del sistema.

El contexto del dispositivo identificado por el parámetro hdc solo se usa si se establece la constante DIB_PAL_COLORS para el parámetro fuColorUse ; de lo contrario, se omite.

El mapa de bits identificado por el parámetro hbmp no se debe seleccionar en un contexto de dispositivo cuando la aplicación llama a esta función.

Las líneas de examen deben alinearse en un DWORD excepto en los mapas de bits comprimidos por RLE.

El origen de los DIB de abajo arriba es la esquina inferior izquierda del mapa de bits; el origen de los DIB de arriba abajo es la esquina superior izquierda del mapa de bits.

ICM: La administración de colores se realiza si se ha habilitado la administración de colores con una llamada a SetICMMode con el parámetro iEnableICM establecido en ICM_ON. Si el mapa de bits especificado por lpbmi tiene un BITMAPV4HEADER que especifica los miembros gamma y endpoints, o un BITMAPV5HEADER que especifica los miembros gamma y endpoints o los miembros profileData y profileSize, la llamada trata los píxeles del mapa de bits como se expresa en el espacio de colores descrito por esos miembros, en lugar de en el espacio de color de origen del contexto del dispositivo.

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

Funciones de mapa de bits

Información general sobre mapas de bits

GetDIBits

GetSystemPaletteEntries