estructura BITMAPV5HEADER (wingdi.h)
La estructura BITMAPV5HEADER es el archivo de encabezado de información del mapa de bits. Es una versión extendida de la estructura BITMAPINFOHEADER .
Sintaxis
typedef struct {
DWORD bV5Size;
LONG bV5Width;
LONG bV5Height;
WORD bV5Planes;
WORD bV5BitCount;
DWORD bV5Compression;
DWORD bV5SizeImage;
LONG bV5XPelsPerMeter;
LONG bV5YPelsPerMeter;
DWORD bV5ClrUsed;
DWORD bV5ClrImportant;
DWORD bV5RedMask;
DWORD bV5GreenMask;
DWORD bV5BlueMask;
DWORD bV5AlphaMask;
DWORD bV5CSType;
CIEXYZTRIPLE bV5Endpoints;
DWORD bV5GammaRed;
DWORD bV5GammaGreen;
DWORD bV5GammaBlue;
DWORD bV5Intent;
DWORD bV5ProfileData;
DWORD bV5ProfileSize;
DWORD bV5Reserved;
} BITMAPV5HEADER, *LPBITMAPV5HEADER, *PBITMAPV5HEADER;
Miembros
bV5Size
Número de bytes requeridos por la estructura. Las aplicaciones deben usar este miembro para determinar qué estructura de encabezado de información de mapa de bits se está usando.
bV5Width
Ancho del mapa de bits, en píxeles.
Si bV5Compression es BI_JPEG o BI_PNG, el miembro bV5Width especifica el ancho de la imagen JPEG o PNG descomprimida en píxeles.
bV5Height
Alto del mapa de bits, en píxeles. Si el valor de bV5Height es positivo, el mapa de bits es una DIB de abajo arriba y su origen es la esquina inferior izquierda. Si el valor bV5Height es negativo, el mapa de bits es una DIB de arriba abajo y su origen es la esquina superior izquierda.
Si bV5Height es negativo, lo que indica una DIB de arriba abajo, bV5Compression debe ser BI_RGB o BI_BITFIELDS. Los DIB de arriba abajo no se pueden comprimir.
Si bV5Compression es BI_JPEG o BI_PNG, el miembro bV5Height especifica el alto de la imagen JPEG o PNG descomprimida en píxeles.
bV5Planes
Número de planos para el dispositivo de destino. Este valor debe establecerse en 1.
bV5BitCount
Número de bits que definen cada píxel y el número máximo de colores en el mapa de bits.
Este miembro puede ser uno de los siguientes valores.
Value | Significado |
---|---|
0 | El número de bits por píxel se especifica o está implícito en el formato de archivo JPEG o PNG. |
1 | El mapa de bits es monocromo y el miembro chromiumColors de BITMAPINFO contiene dos entradas. Cada bit de la matriz de mapa de bits representa un píxel. Si el bit está claro, el píxel se muestra con el color de la primera entrada en la tabla de colores del índice de colores. Si se establece el bit, el píxel tiene el color de la segunda entrada de la tabla. |
4 | El mapa de bits tiene un máximo de 16 colores, mientras que el miembro configColors de BITMAPINFO contiene hasta 16 entradas. Cada píxel del mapa de bits se representa mediante un índice de 4 bits en la tabla de colores. Por ejemplo, si el primer byte del mapa de bits es 0x1F, el byte representa dos píxeles. El primer píxel contiene el color de la segunda entrada de tabla y el segundo píxel contiene el color de la sexta entrada de tabla. |
8 | El mapa de bits tiene un máximo de 256 colores, y el miembro imcColors de BITMAPINFO contiene hasta 256 entradas. En este caso, cada byte de la matriz representa un solo píxel. |
16 | El mapa de bits tiene un máximo de 2^16 colores. Si el miembro bV5Compression de la estructura de BITMAPV5HEADER es BI_RGB, el miembro imcColors de BITMAPINFO es NULL. Cada WORD de la matriz de mapa de bits representa un solo píxel. Las densidades relativas de rojo, verde y azul se representan con cinco bits para cada componente de color. El valor de azul está en los cinco bits menos significativos, seguido de cinco bits cada uno para verde y rojo. No se usa el bit más significativo. La tabla decoloresss se usa para optimizar los colores utilizados en dispositivos basados en paletas y debe contener el número de entradas especificadas por el miembro bV5ClrUsed del BITMAPV5HEADER. Si el miembro bV5Compression de la BITMAPV5HEADER es BI_BITFIELDS, el miembro glicolors contiene tres máscaras de color DWORD que especifican los componentes rojo, verde y azul, respectivamente, de cada píxel. Cada WORD de la matriz de mapa de bits representa un solo píxel.
Cuando el miembro bV5Compression es BI_BITFIELDS, los bits establecidos en cada máscara DWORD deben ser contiguos y no deben superponerse a los bits de otra máscara. No es necesario usar todos los bits del píxel. |
24 | El mapa de bits tiene un máximo de 2^24 colores, y el miembro del índice de bitsColorsesNULL. Cada triplete de 3 bytes de la matriz de mapa de bits representa las densidades relativas de azul, verde y rojo, respectivamente, para un píxel. La tabla decoloresss se usa para optimizar los colores utilizados en dispositivos basados en paletas y debe contener el número de entradas especificadas por el miembro bV5ClrUsed de la estructura BITMAPV5HEADER . |
32 | El mapa de bits tiene un máximo de 2^32 colores. Si el miembro bV5Compression de la BITMAPV5HEADER es BI_RGB, el miembro bimColors de BITMAPINFO es NULL. Cada DWORD de la matriz de mapa de bits representa las densidades relativas de azul, verde y rojo para un píxel. El valor de azul está en los 8 bits menos significativos, seguidos de 8 bits cada uno para verde y rojo. No se usa el byte alto en cada DWORD . La tabla decoloresss se usa para optimizar los colores utilizados en dispositivos basados en paletas y debe contener el número de entradas especificadas por el miembro bV5ClrUsed del BITMAPV5HEADER. Si el miembro bV5Compression de la BITMAPV5HEADER es BI_BITFIELDS, el miembro imcColors contiene tres máscaras de color DWORD que especifican los componentes rojo, verde y azul de cada píxel. Cada DWORD de la matriz de mapa de bits representa un solo píxel. |
bV5Compression
Especifica que el mapa de bits no está comprimido. Los miembros bV5RedMask, bV5GreenMask y bV5BlueMask especifican los componentes rojo, verde y azul de cada píxel. Esto es válido cuando se usa con mapas de bits de 16 y 32 bpp. Este miembro puede ser uno de los siguientes valores.
Value | Significado |
---|---|
BI_RGB | Formato sin comprimir. |
BI_RLE8 | Formato codificado de longitud de ejecución (RLE) para mapas de bits con 8 bpp. El formato de compresión es un formato de dos bytes que consta de un byte de recuento seguido de un byte que contiene un índice de color. Si bV5Compression es BI_RGB y el miembro bV5BitCount es 16, 24 o 32, la matriz de mapa de bits especifica las densidades reales de azul, verde y rojo en lugar de usar índices de tabla de colores. Para obtener más información, vea Compresión de mapa de bits. |
BI_RLE4 | Formato RLE para mapas de bits con 4 bpp. El formato de compresión es un formato de dos bytes que consta de un byte de recuento seguido de dos índices de color de longitud de palabra. Para obtener más información, vea Compresión de mapa de bits. |
BI_BITFIELDS | Especifica que el mapa de bits no está comprimido y que las máscaras de color de los componentes rojo, verde y azul de cada píxel se especifican en los miembros bV5RedMask, bV5GreenMask y bV5BlueMask . Esto es válido cuando se usa con mapas de bits de 16 y 32 bpp. |
BI_JPEG | Especifica que la imagen se comprime con el formato de intercambio de archivos JPEG. La compresión JPEG reduce la compresión contra la pérdida; puede lograr una relación de compresión de 20:1 con poca pérdida notable. |
BI_PNG | Especifica que la imagen se comprime con el formato de intercambio de archivos PNG. |
bV5SizeImage
Tamaño, en bytes, de la imagen. Esto puede establecerse en cero para BI_RGB mapas de bits.
Si bV5Compression es BI_JPEG o BI_PNG, bV5SizeImage es el tamaño del búfer de imágenes JPEG o PNG.
bV5XPelsPerMeter
Resolución horizontal, en píxeles por medidor, del dispositivo de destino para el mapa de bits. Una aplicación puede usar este valor para seleccionar un mapa de bits de un grupo de recursos que coincida mejor con las características del dispositivo actual.
bV5YPelsPerMeter
Resolución vertical, en píxeles por medidor, del dispositivo de destino para el mapa de bits.
bV5ClrUsed
Número de índices de color de la tabla de colores que realmente usa el mapa de bits. Si este valor es cero, el mapa de bits usa el número máximo de colores correspondientes al valor del miembro bV5BitCount para el modo de compresión especificado por bV5Compression.
Si bV5ClrUsed es distinto de cero y bV5BitCount es menor que 16, el miembro bV5ClrUsed especifica el número real de colores a los que accede el motor gráfico o el controlador del dispositivo. Si bV5BitCount es 16 o superior, el miembro bV5ClrUsed especifica el tamaño de la tabla de colores utilizada para optimizar el rendimiento de las paletas de colores del sistema. Si bV5BitCount es igual a 16 o 32, la paleta de colores óptima comienza inmediatamente después del BITMAPV5HEADER. Si bV5ClrUsed no es cero, la tabla de colores se usa en dispositivos palettizados y bV5ClrUsed especifica el número de entradas.
bV5ClrImportant
Número de índices de color necesarios para mostrar el mapa de bits. Si este valor es cero, se requieren todos los colores.
bV5RedMask
Máscara de color que especifica el componente rojo de cada píxel, válido solo si bV5Compression está establecido en BI_BITFIELDS.
bV5GreenMask
Máscara de color que especifica el componente verde de cada píxel, válido solo si bV5Compression está establecido en BI_BITFIELDS.
bV5BlueMask
Máscara de color que especifica el componente azul de cada píxel, válido solo si bV5Compression está establecido en BI_BITFIELDS.
bV5AlphaMask
Máscara de color que especifica el componente alfa de cada píxel.
bV5CSType
Espacio de color de la DIB.
En la tabla siguiente se especifican los valores de bV5CSType.
Value | Significado |
---|---|
LCS_CALIBRATED_RGB | Este valor implica que los puntos de conexión y los valores gamma se proporcionan en los campos adecuados. |
LCS_sRGB | Especifica que el mapa de bits está en el espacio de colores sRGB. |
LCS_WINDOWS_COLOR_SPACE | Este valor indica que el mapa de bits está en el espacio de colores predeterminado del sistema, sRGB. |
PROFILE_LINKED | Este valor indica que bV5ProfileData apunta al nombre de archivo del perfil que se va a usar (se omiten los valores gamma y de puntos de conexión). |
PROFILE_EMBEDDED | Este valor indica que bV5ProfileData apunta a un búfer de memoria que contiene el perfil que se va a usar (se omiten los valores gamma y de puntos de conexión). |
Consulte la estructura LOGCOLORSPACE para obtener información sobre cómo definir un espacio de color lógico.
bV5Endpoints
Estructura CIEXYZTRIPLE que especifica las coordenadas x, y y z de los tres colores que corresponden a los extremos rojo, verde y azul para el espacio de color lógico asociado al mapa de bits. Este miembro se omite a menos que el miembro bV5CSType especifique LCS_CALIBRATED_RGB.
bV5GammaRed
Curva de respuesta tonada para rojo. Se usa si bV5CSType está establecido en LCS_CALIBRATED_RGB. Especifique en formato fijo 16.16 sin firmar. Los 16 bits superiores son el valor entero sin signo. Los 16 bits inferiores son la parte fraccionarcional.
bV5GammaGreen
Curva de respuesta tonada para verde. Se usa si bV5CSType está establecido en LCS_CALIBRATED_RGB. Especifique en formato fijo 16.16 sin firmar. Los 16 bits superiores son el valor entero sin signo. Los 16 bits inferiores son la parte fraccionarcional.
bV5GammaBlue
Curva de respuesta tonada para azul. Se usa si bV5CSType está establecido en LCS_CALIBRATED_RGB. Especifique en formato fijo 16.16 sin firmar. Los 16 bits superiores son el valor entero sin signo. Los 16 bits inferiores son la parte fraccionarcional.
bV5Intent
Intención de representación para mapa de bits. Puede ser uno de los siguientes valores.
Value | Intención | Nombre de ICC | Significado |
---|---|---|---|
LCS_GM_ABS_COLORIMETRIC | Coincidir con | Colorimétrica absoluta | Mantiene el punto blanco. Coincide con los colores con su color más cercano en la gama de destino. |
LCS_GM_BUSINESS | Graphic | Saturación | Mantiene la saturación. Se usa para gráficos empresariales y otras situaciones en las que se requieren colores no unidos. |
LCS_GM_GRAPHICS | Prueba | Colorimétrica relativa | Mantiene la coincidencia de colorimétrica. Se usa para diseños gráficos y colores con nombre. |
LCS_GM_IMAGES | Imagen | Perceptivo | Mantiene el contraste. Se utiliza para fotografías e imágenes naturales. |
bV5ProfileData
Desplazamiento, en bytes, desde el principio de la estructura de BITMAPV5HEADER hasta el inicio de los datos del perfil. Si el perfil está incrustado, los datos de perfil son el perfil real y está vinculado. (Los datos del perfil son el nombre de archivo terminado en null del perfil). No puede ser una cadena Unicode. Debe estar compuesto exclusivamente de caracteres del juego de caracteres de Windows (página de códigos 1252). Estos miembros de perfil se omiten a menos que el miembro bV5CSType especifique PROFILE_LINKED o PROFILE_EMBEDDED.
bV5ProfileSize
Tamaño, en bytes, de datos de perfil incrustados.
bV5Reserved
Este miembro se ha reservado. Su valor debe establecerse en cero.
Comentarios
Si bV5Height es negativo, lo que indica una DIB de arriba abajo, bV5Compression debe ser BI_RGB o BI_BITFIELDS. Los DIB de arriba abajo no se pueden comprimir.
La interfaz de administración de colores independiente (ICM) 2.0 permite que los perfiles de color del Consorcio internacional de colores (ICC) se vincule o inserte en DIB (DIB). Consulte Uso de estructuras para obtener más información.
Cuando se carga una DIB en la memoria, los datos del perfil (si están presentes) deben seguir la tabla de colores y bV5ProfileData debe proporcionar el desplazamiento de los datos de perfil desde el principio de la estructura de BITMAPV5HEADER . El valor almacenado en bV5ProfileData será diferente del valor devuelto por el operador sizeof según el argumento BITMAPV5HEADER , ya que bV5ProfileData es el desplazamiento en bytes desde el principio de la estructura de BITMAPV5HEADER hasta el inicio de los datos del perfil. (Los bits de mapa de bits no siguen la tabla de colores en memoria). Las aplicaciones deben modificar el miembro bV5ProfileData después de cargar la DIB en memoria.
En el caso de las DIB empaquetadas, los datos de perfil deben seguir los bits de mapa de bits similares al formato de archivo. El miembro bV5ProfileData todavía debe proporcionar el desplazamiento de los datos del perfil desde el principio del BITMAPV5HEADER.
Las aplicaciones solo deben tener acceso a los datos de perfil cuando bV5Size es igual al tamaño del BITMAPV5HEADER y bV5CSType es igual a PROFILE_EMBEDDED o PROFILE_LINKED.
Si un perfil está vinculado, la ruta de acceso del perfil puede ser cualquier nombre completo (incluida una ruta de acceso de red) que se pueda abrir mediante la función CreateFile .
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | wingdi.h (incluye Windows.h) |