structure BITMAPV4HEADER (wingdi.h)

La structure BITMAPV4HEADER est le fichier d’en-tête d’informations bitmap. Il s’agit d’une version étendue de la structure BITMAPINFOHEADER .

Les applications peuvent utiliser la structure BITMAPV5HEADER pour ajouter des fonctionnalités.

Syntaxe

typedef struct {
  DWORD        bV4Size;
  LONG         bV4Width;
  LONG         bV4Height;
  WORD         bV4Planes;
  WORD         bV4BitCount;
  DWORD        bV4V4Compression;
  DWORD        bV4SizeImage;
  LONG         bV4XPelsPerMeter;
  LONG         bV4YPelsPerMeter;
  DWORD        bV4ClrUsed;
  DWORD        bV4ClrImportant;
  DWORD        bV4RedMask;
  DWORD        bV4GreenMask;
  DWORD        bV4BlueMask;
  DWORD        bV4AlphaMask;
  DWORD        bV4CSType;
  CIEXYZTRIPLE bV4Endpoints;
  DWORD        bV4GammaRed;
  DWORD        bV4GammaGreen;
  DWORD        bV4GammaBlue;
} BITMAPV4HEADER, *LPBITMAPV4HEADER, *PBITMAPV4HEADER;

Membres

bV4Size

Nombre d’octets requis par la structure. Les applications doivent utiliser ce membre pour déterminer quelle structure d’en-tête d’informations bitmap est utilisée.

bV4Width

Largeur de la bitmap, en pixels.

Si bV4Compression est BI_JPEG ou BI_PNG, bV4Width spécifie la largeur de l’image JPEG ou PNG en pixels.

bV4Height

Hauteur de la bitmap, en pixels. Si bV4Height est positif, la bitmap est une DIB de bas en haut et son origine est le coin inférieur gauche. Si bV4Height est négatif, la bitmap est une DIB descendante et son origine est le coin supérieur gauche.

Si bV4Height est négatif, indiquant une DIB descendante, bV4Compression doit être BI_RGB ou BI_BITFIELDS. Impossible de compresser les DIB de haut en bas.

Si bV4Compression est BI_JPEG ou BI_PNG, bV4Height spécifie la hauteur de l’image JPEG ou PNG en pixels.

bV4Planes

Nombre de plans pour l’appareil cible. Cette valeur doit être définie sur 1.

bV4BitCount

Nombre de bits par pixel. Le membre bV4BitCount de la structure BITMAPV4HEADER détermine le nombre de bits qui définissent chaque pixel et le nombre maximal de couleurs dans la bitmap. Ce membre doit être l’une des valeurs suivantes.

Valeur Signification
0 Le nombre de bits par pixel est spécifié ou est implicite par le format de fichier JPEG ou PNG.
1 La bitmap est monochrome et le membre bmiColors de BITMAPINFO contient deux entrées. Chaque bit du tableau bitmap représente un pixel. Si le bit est clair, le pixel s’affiche avec la couleur de la première entrée dans la table bmiColors ; si le bit est défini, le pixel a la couleur de la deuxième entrée dans la table.
4 La bitmap a un maximum de 16 couleurs, et le membre bmiColors de BITMAPINFO contient jusqu’à 16 entrées. Chaque pixel de la bitmap est représenté par un index 4 bits dans la table de couleurs. Par exemple, si le premier octet de la bitmap est 0x1F, l’octet représente deux pixels. Le premier pixel contient la couleur dans la deuxième entrée de tableau, et le second pixel contient la couleur de la seizième entrée de tableau.
8 La bitmap a un maximum de 256 couleurs, et le membre bmiColors de BITMAPINFO contient jusqu’à 256 entrées. Dans ce cas, chaque octet du tableau représente un seul pixel.
16 La bitmap a un maximum de 2^16 couleurs. Si le membre bV4Compression de la structure BITMAPV4HEADER est BI_RGB, le membre bmiColors de BITMAPINFO a la valeur NULL. Chaque WORD dans le tableau bitmap représente un seul pixel. Les intensités relatives du rouge, du vert et du bleu sont représentées avec cinq bits pour chaque composant de couleur. La valeur du bleu est dans les cinq bits les moins significatifs, suivis de cinq bits chacun pour le vert et le rouge, respectivement. Le bit le plus significatif n’est pas utilisé. La table de couleurs bmiColors est utilisée pour optimiser les couleurs utilisées sur les appareils basés sur la palette et doit contenir le nombre d’entrées spécifiées par le membre bV4ClrUsed du BITMAPV4HEADER. Si le membre bV4Compression du BITMAPV4HEADER est BI_BITFIELDS, le membre bmiColors contient trois masques de couleur DWORD qui spécifient les composants rouge, vert et bleu de chaque pixel. Chaque WORD dans le tableau bitmap représente un seul pixel.
24 La bitmap a un maximum de 2^24 couleurs, et le membre bmiColors de BITMAPINFO a la valeur NULL. Chaque triplet de 3 octets dans le tableau bitmap représente les intensités relatives du bleu, du vert et du rouge pour un pixel. La table de couleurs bmiColors est utilisée pour optimiser les couleurs utilisées sur les appareils basés sur la palette et doit contenir le nombre d’entrées spécifiées par le membre bV4ClrUsed du BITMAPV4HEADER.
32 La bitmap a un maximum de 2^32 couleurs. Si le membre bV4Compression du BITMAPV4HEADER est BI_RGB, le membre bmiColors de BITMAPINFO a la valeur NULL. Chaque DWORD du tableau bitmap représente les intensités relatives du bleu, du vert et du rouge pour un pixel. La valeur du bleu est dans les 8 bits les moins significatifs, suivis de 8 bits chacun pour le vert et le rouge. L’octet élevé dans chaque DWORD n’est pas utilisé. La table de couleurs bmiColors est utilisée pour optimiser les couleurs utilisées sur les appareils basés sur la palette et doit contenir le nombre d’entrées spécifiées par le membre bV4ClrUsed du BITMAPV4HEADER. Si le membre bV4Compression du BITMAPV4HEADER est BI_BITFIELDS, le membre bmiColors contient trois masques de couleur DWORD qui spécifient les composants rouge, vert et bleu de chaque pixel. Chaque DWORD dans le tableau bitmap représente un seul pixel.

bV4V4Compression

Type de compression d’une image bitmap de bas en haut compressée (les D DIBs de haut en bas ne peuvent pas être compressés). Ce membre peut être l’une des valeurs suivantes.

Valeur Description
BI_RGB Format non compressé.
BI_RLE8 Format encodé en longueur d’exécution (RLE) pour les bitmaps avec 8 bpp. Le format de compression est un format de 2 octets composé d’un octet de comptage suivi d’un octet contenant un index de couleur. Pour plus d’informations, consultez Compression bitmap.
BI_RLE4 Format RLE pour les bitmaps avec 4 bpp. Le format de compression est un format de 2 octets composé d’un nombre d’octets suivi de deux index de couleur de longueur de mot. Pour plus d’informations, consultez Compression bitmap.
BI_BITFIELDS Spécifie que la bitmap n’est pas compressée. Les membres bV4RedMask, bV4GreenMask et bV4BlueMask spécifient les composants rouge, vert et bleu pour chaque pixel. Cela est valide lorsqu’il est utilisé avec des bitmaps 16 et 32 bpp.
BI_JPEG Spécifie que l’image est compressée au format d’échange de fichiers JPEG. La compression JPEG échange la compression contre la perte ; il peut atteindre un taux de compression de 20:1 avec peu de perte notable.
BI_PNG Spécifie que l’image est compressée au format d’échange de fichiers PNG.

bV4SizeImage

Taille, en octets, de l’image. Cette valeur peut être définie sur zéro pour les bitmaps BI_RGB.

Si bV4Compression est BI_JPEG ou BI_PNG, bV4SizeImage correspond à la taille de la mémoire tampon d’image JPEG ou PNG.

bV4XPelsPerMeter

Résolution horizontale, en pixels par mètre, de l’appareil cible pour l’image bitmap. Une application peut utiliser cette valeur pour sélectionner une bitmap à partir d’un groupe de ressources qui correspond le mieux aux caractéristiques de l’appareil actuel.

bV4YPelsPerMeter

Résolution verticale, en pixels par mètre, de l’appareil cible pour l’image bitmap.

bV4ClrUsed

Nombre d’index de couleurs dans la table de couleurs qui sont réellement utilisés par l’image bitmap. Si cette valeur est égale à zéro, la bitmap utilise le nombre maximal de couleurs correspondant à la valeur du membre bV4BitCount pour le mode de compression spécifié par bV4Compression.

Si bV4ClrUsed est différent de zéro et que le membre bV4BitCount est inférieur à 16, le membre bV4ClrUsed spécifie le nombre réel de couleurs accessibles par le moteur graphique ou le pilote de périphérique. Si bV4BitCount est égal ou supérieur à 16, le membre bV4ClrUsed spécifie la taille de la table de couleurs utilisée pour optimiser les performances des palettes de couleurs système. Si bV4BitCount est égal à 16 ou 32, la palette de couleurs optimale commence immédiatement après la BITMAPV4HEADER.

bV4ClrImportant

Nombre d’index de couleur requis pour l’affichage de la bitmap. Si cette valeur est égale à zéro, toutes les couleurs sont importantes.

bV4RedMask

Masque de couleur qui spécifie le composant rouge de chaque pixel, valide uniquement si bV4Compression a la valeur BI_BITFIELDS.

bV4GreenMask

Masque de couleur qui spécifie le composant vert de chaque pixel, valide uniquement si bV4Compression est défini sur BI_BITFIELDS.

bV4BlueMask

Masque de couleur qui spécifie le composant bleu de chaque pixel, valide uniquement si bV4Compression a la valeur BI_BITFIELDS.

bV4AlphaMask

Masque de couleur qui spécifie le composant alpha de chaque pixel.

bV4CSType

Espace de couleurs de la DIB. Le tableau suivant répertorie la valeur de bV4CSType.

Valeur Signification
LCS_CALIBRATED_RGB Cette valeur indique que les points de terminaison et les valeurs gamma sont donnés dans les champs appropriés.
 

Consultez la structure LOGCOLORSPACE pour plus d’informations qui définit un espace de couleurs logique.

bV4Endpoints

Structure CIEXYZTRIPLE qui spécifie les coordonnées x, y et z des trois couleurs qui correspondent aux points de terminaison rouge, vert et bleu pour l’espace de couleurs logique associé à l’image bitmap. Ce membre est ignoré, sauf si le membre bV4CSType spécifie LCS_CALIBRATED_RGB.

Note Un espace de couleurs est un modèle permettant de représenter la couleur numériquement en termes de trois coordonnées ou plus. Par exemple, l’espace de couleur RVB représente les couleurs en termes de coordonnées rouge, verte et bleue.
 

bV4GammaRed

Courbe de réponse tonalité pour le rouge. Ce membre est ignoré, sauf si les valeurs de couleur sont des valeurs RVB étalonnées et que bV4CSType est défini sur LCS_CALIBRATED_RGB. Spécifiez au format 16.16 fixe non signé. Les 16 bits supérieurs sont la valeur entière non signée. Les 16 bits inférieurs sont la partie fractionnaire.

bV4GammaGreen

Courbe de réponse tonalité pour le vert. Utilisé si bV4CSType est défini sur LCS_CALIBRATED_RGB. Spécifiez au format 16.16 fixe non signé. Les 16 bits supérieurs sont la valeur entière non signée. Les 16 bits inférieurs sont la partie fractionnaire.

bV4GammaBlue

Courbe de réponse tonalité pour le bleu. Utilisé si bV4CSType est défini sur LCS_CALIBRATED_RGB. Spécifiez au format 16.16 fixe non signé. Les 16 bits supérieurs sont la valeur entière non signée. Les 16 bits inférieurs sont la partie fractionnaire.

Remarques

La structure BITMAPV4HEADER est étendue pour permettre à une image JPEG ou PNG d’être transmise en tant qu’image source à StretchDIBits.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête wingdi.h (inclure Windows.h)

Voir aussi

BITMAPINFO

BITMAPINFOHEADER

BITMAPV5HEADER

Bitmap Structures

Vue d’ensemble des bitmaps

CIEXYZTRIPLE

CreateDIBitmap

LOGCOLORSPACE

StretchDIBits