wingdi.h


SetDIBits

La función SetDIBits asigna los pixels en un mapa de bits usando los datos de colores que se encuentran en el mapa de bits independiente del dispositivo (DIB) especificado.

Sintaxis

int SetDIBits(
    HDC hdc,                   // manipulador de contexto de dispositivo
    HBITMAP hbmp,              // manipulador de mapa de bits
    UINT uStartScan,           // línea de inicio
    UINT cScanLines,           // número de líneas
    CONST VOID * lpvBits,      // array de bits del mapa de bits
    CONST BITMAPINFO * lpbmi,  // dirección de la estructura con datos del mapa de bits
    UINT fuColorUse            // tipo de índices de color a usar
   );

Parámetros:

hdc: identifica el contexto de dispositivo.

hbmp: identifica el mapa de bits que será alterado usando los datos de colores del DIB especificado.

uStartScan: especifica la línea de comienzo de los datos de colores independiente del dispositivo en el array apuntado por el parámetro lpvBits.

cScanLines: especifica el número de líneas que se encuentran en el array que contiene los datos de color independientes del dispositivo.

lpvBits: puntero a datos de colores del DIB, almacenados como un array de bytes. El formato de los valores del mapa de bits depende del miembro biBitCount de la estructura BITMAPINFO apuntada por el parámetro lpbmi.

lpbmi: apunta a una estructura BITMAPINFO que contiene información sobre el DIB.

fuColorUse: especifica si el miembro bmiColors de la estructura BITMAPINFO ha sido proporcionado, y si es así, si bmiColors contiene valores rojo, verde y azul (RGB) explícitos o índices de paleta. El parámetro fuColorUse debe tener uno de los siguientes valores:

Valor Significado
DIB_PAL_COLORS La tabla de colores consiste en un array de índices de 16-bit dentro de la paleta lógica del contexto de dispositivo identificado por el parámetro hdc.
DIB_RGB_COLORS Se proporciona la tabla de colores y contiene valores literales RGB.

Valor de retorno

Si la función tiene éxito, el valor de retorno es el número de líneas copiadas.

Si la función falla, el valor de retorno es cero. Para obtener información más detallada sobre el error, llamar a la función GetLastError.

Observaciones

Las velocidades de visualización del mapa de bits óptimas se obtienen cuando los bits del mapa de bits son índices dentro de la paleta del sistema.

Las aplicaciones pueden recuperar los colores de la paleta del sistema y los índices mediante una llamada a la función GetSystemPaletteEntries. Una vez que los colores y los índices has sido recuperados, la aplicación puede crear el DIB. Para más información, ver el tema de la paleta del sistema.

El contexto de dispositivo identificado por el parámetro hdc se usa sólo si al constante DIB_PAL_COLORS está asignada para el parámetro fuColorUse; en otro caso se ignora.

El mapa de bits identificado por el parámetro hbmp no debe ser seleccionado dentro de un contexto de dispositivo cuando la aplicación llame a la función.

El origen para DIBs de abajo-arriba es la esquina inferior izquierda del mapa de bits; el origen para DIBs de arriba-abajo es la esquina superior izquierda del mapa de bits.