Compartir a través de


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)

Consulte también

BITMAPINFO

BITMAPINFOHEADER

BITMAPV4HEADER

Estructuras de mapa de bits

Información general sobre mapas de bits

CIEXYZTRIPLE

CreateDIBitmap

LOGCOLORSPACE

StretchDIBits