wingdi.h

Estructura BITMAPCOREINFO

Definición

typedef struct _BITMAPCOREINFO {    // bmci 
        BITMAPCOREHEADER  bmciHeader; 
        RGBTRIPLE         bmciColors[1]; 
} BITMAPCOREINFO;

La estructura BITMAPCOREINFO define las dimensiones e información de color de un mapa de bits independiente del dispositivo (DIB).

Descripción

bmciHeader: especifica una estructura BITMAPCOREHEADER que contiene información sobre las dimensiones y formato de color de un DIB.

bmciColors: especifica un array de estructuras RGBTRIPLE que definen los colores del mapa de bits.

Observaciones

Un DIB consiste de dos partes: una estructura BITMAPCOREINFO que describe las dimensiones y colores del mapa de bits, y un array de bytes que definen los pixels de un mapa de bits. Los bits del array están empaquetados juntos, pero cada línea debe rellenarse con ceros hasta completar la anchura de un LONG. El origen de un mapa de bits es las esquina inferior izquierda.

El miembro bcBitCount de la estructura BITMAPCOREHEADER determina el número de bits que define cada pixel y el máximo número de colores en el mapa de bits. Este miembro puede tener uno de los siguientes valores:

Valor Significado
1 El mapa de bits es monocromo, y el miembro bmciColors contiene dos entradas. Cada bit en el array del mapa de bits representa un pixel. Si el bit es cero, el pixel se muestra con el color de la primera entrada en la tabla bmciColors; si el bit es uno, el pixel será del color de la segunda entrada en la tabla.
4 El mapa de bits tiene un máximo de 16 colores, y el miembro bmciColors contiene 16 entradas. cada pixel en el mapa de bits se representa por un índice de 4 bits dentro de la tabla de colores. Por ejemplo, si el primer byte en el mapa de bits es 0x1F, el byte representa dos pixels. El primer pixel contiene el color de la segunda entrada en la tabla, y el segundo pixel contiene el color de la entrada dieciséis.
8 El mapa de bits tiene un máximo de 256 colores, y el miembro bmciColors contiene 256 entradas. En este caso, cada byte representa un único pixel.
24 El mapa de bits tiene un máximo de 2^24 colores, y el miembro bmciColors es NULL. Cada tres bytes en el mapa de bits representa las intensidades relativas de rojo, verde y azul, respectivamente, para un pixel.

Los colores en la tabla bmciColors aparecen en orden de importancia.

Alternativamente, para funciones que usen DIBs, el miembro bmciColors puede ser un array de enteros de 16 bits sin signo que especifican índices dentro de la paleta lógica actual, en lugar de valores RGB. En este caso, una aplicación que use el mapa de bits debe llamar a funciones DIB (CreateDIBitmap, CreateDIBPatternBrush, y CreateDIBSection) con el parámetro iUsage puesto a DIB_PAL_COLORS.

Nota: el miembro bmciColors no debe contener índices de paleta si el mapa de bits ha de ser almacenado en un fichero o transferido a otra aplicación. Salvo que la aplicación tenga el uso y control exclusivo del mapa de bits, la tabla de colores del mapa de bits debe contener valore explícitos RGB.