structure BITMAPV5HEADER (wingdi.h)

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

Syntaxe

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;

Membres

bV5Size

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.

bV5Width

Largeur de la bitmap, en pixels.

Si bV5Compression est BI_JPEG ou BI_PNG, le membre bV5Width spécifie la largeur de l’image JPEG ou PNG décompressée en pixels.

bV5Height

Hauteur de la bitmap, en pixels. Si la valeur de bV5Height est positive, la bitmap est une DIB de bas en haut et son origine est le coin inférieur gauche. Si la valeur bV5Height est négative, la bitmap est une DIB descendante et son origine est le coin supérieur gauche.

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

Si bV5Compression est BI_JPEG ou BI_PNG, le membre bV5Height spécifie la hauteur de l’image JPEG ou PNG décompressée en pixels.

bV5Planes

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

bV5BitCount

Nombre de bits qui définissent chaque pixel et nombre maximal de couleurs dans la bitmap.

Ce membre peut ê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 de couleurs 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 bV5Compression de la structure BITMAPV5HEADER 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. 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 bV5ClrUsed du BITMAPV5HEADER. Si le membre bV5Compression du BITMAPV5HEADER est BI_BITFIELDS, le membre bmiColors contient trois masques de couleur DWORD qui spécifient les composants rouge, vert et bleu, respectivement, de chaque pixel. Chaque WORD dans le tableau bitmap représente un seul pixel.

Lorsque le membre bV5Compression est BI_BITFIELDS, les bits définis dans chaque masque DWORD doivent être contigus et ne doivent pas chevaucher les bits d’un autre masque. Tous les bits du pixel n’ont pas besoin d’être utilisés.

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, respectivement, 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 bV5ClrUsed de la structure BITMAPV5HEADER .
32 La bitmap a un maximum de 2^32 couleurs. Si le membre bV5Compression du BITMAPV5HEADER 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 bV5ClrUsed du BITMAPV5HEADER. Si le membre bV5Compression du BITMAPV5HEADER 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.

bV5Compression

Spécifie que la bitmap n’est pas compressée. Les membres bV5RedMask, bV5GreenMask et bV5BlueMask spécifient les composants rouge, vert et bleu de chaque pixel. Cela est valide lorsqu’il est utilisé avec des bitmaps 16 et 32 bpp. Ce membre peut être l’une des valeurs suivantes.

Valeur Signification
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 deux octets composé d’un octet de comptage suivi d’un octet contenant un index de couleur. Si bV5Compression est BI_RGB et que le membre bV5BitCount est 16, 24 ou 32, le tableau bitmap spécifie les intensités réelles du bleu, du vert et du rouge au lieu d’utiliser des index de table de couleurs. 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 deux octets composé d’un octet de comptage 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 et que les masques de couleur pour les composants rouge, vert et bleu de chaque pixel sont spécifiés dans les membres bV5RedMask, bV5GreenMask et bV5BlueMask . Cela est valide lorsqu’il est utilisé avec des bitmaps 16 et 32 bpp.
BI_JPEG Spécifie que l’image est compressée à l’aide du format d’échange de fichier 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 à l’aide du format d’échange de fichier PNG.

bV5SizeImage

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

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

bV5XPelsPerMeter

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.

bV5YPelsPerMeter

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

bV5ClrUsed

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, l’image bitmap utilise le nombre maximal de couleurs correspondant à la valeur du membre bV5BitCount pour le mode de compression spécifié par bV5Compression.

Si bV5ClrUsed est différent de zéro et que bV5BitCount est inférieur à 16, le membre bV5ClrUsed spécifie le nombre réel de couleurs accessibles par le moteur graphique ou le pilote de périphérique. Si bV5BitCount est égal ou supérieur à 16, le membre bV5ClrUsed spécifie la taille de la table de couleurs utilisée pour optimiser les performances des palettes de couleurs système. Si bV5BitCount est égal à 16 ou 32, la palette de couleurs optimale démarre immédiatement après la BITMAPV5HEADER. Si bV5ClrUsed est différent de zéro, la table de couleurs est utilisée sur les appareils palettisés et bV5ClrUsed spécifie le nombre d’entrées.

bV5ClrImportant

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

bV5RedMask

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

bV5GreenMask

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

bV5BlueMask

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

bV5AlphaMask

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

bV5CSType

Espace de couleurs de la DIB.

Le tableau suivant spécifie les valeurs pour bV5CSType.

Valeur Signification
LCS_CALIBRATED_RGB Cette valeur implique que les points de terminaison et les valeurs gamma sont donnés dans les champs appropriés.
LCS_sRGB Spécifie que la bitmap se trouve dans l’espace de couleur sRGB.
LCS_WINDOWS_COLOR_SPACE Cette valeur indique que la bitmap se trouve dans l’espace de couleurs par défaut du système, sRGB.
PROFILE_LINKED Cette valeur indique que bV5ProfileData pointe vers le nom de fichier du profil à utiliser (les valeurs gamma et points de terminaison sont ignorées).
PROFILE_EMBEDDED Cette valeur indique que bV5ProfileData pointe vers une mémoire tampon qui contient le profil à utiliser (les valeurs gamma et points de terminaison sont ignorées).
 

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

bV5Endpoints

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 bV5CSType spécifie LCS_CALIBRATED_RGB.

bV5GammaRed

Courbe de réponse tonique pour le rouge. Utilisé si bV5CSType 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.

bV5GammaGreen

Courbe de réponse tonique pour le vert. Utilisé si bV5CSType 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.

bV5GammaBlue

Courbe de réponse tonique pour le bleu. Utilisé si bV5CSType 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.

bV5Intent

Intention de rendu pour bitmap. Il peut s’agir de l’une des valeurs suivantes.

Valeur Intentionnel Nom ICC Signification
LCS_GM_ABS_COLORIMETRIC Correspond Colorimétrie absolue Conserve le point blanc. Fait correspondre les couleurs à leur couleur la plus proche dans la gamme de destination.
LCS_GM_BUSINESS Graphic Saturation Maintient la saturation. Utilisé pour les graphiques métier et d’autres situations dans lesquelles des couleurs non associées sont requises.
LCS_GM_GRAPHICS Proof Colorimétrie relative Conserve la correspondance colorimétrique. Utilisé pour les conceptions graphiques et les couleurs nommées.
LCS_GM_IMAGES Image Perception Maintient le contraste. Utilisé pour les photographies et les images naturelles.

bV5ProfileData

Décalage, en octets, du début de la structure BITMAPV5HEADER au début des données de profil. Si le profil est incorporé, les données de profil sont le profil réel et elles sont liées. (Les données de profil sont le nom de fichier terminé par null du profil.) Il ne peut pas s’agir d’une chaîne Unicode. Il doit être composé exclusivement de caractères du jeu de caractères Windows (page de code 1252). Ces membres de profil sont ignorés, sauf si le membre bV5CSType spécifie PROFILE_LINKED ou PROFILE_EMBEDDED.

bV5ProfileSize

Taille, en octets, des données de profil incorporées.

bV5Reserved

Ce membre a été réservé. Sa valeur doit être définie sur zéro.

Remarques

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

L’interface ICM (Independent Color Management) 2.0 permet aux profils de couleur ICC (International Color Consortium) d’être liés ou incorporés dans des D DIBs (DIBs). Pour plus d’informations, consultez Utilisation de structures .

Lorsqu’une DIB est chargée en mémoire, les données de profil (le cas échéant) doivent suivre la table de couleurs, et bV5ProfileData doit fournir le décalage des données de profil à partir du début de la structure BITMAPV5HEADER . La valeur stockée dans bV5ProfileData sera différente de la valeur retournée par l’opérateur sizeof en fonction de l’argument BITMAPV5HEADER , car bV5ProfileData est le décalage en octets entre le début de la structure BITMAPV5HEADER et le début des données de profil. (Les bits bitmap ne suivent pas le tableau de couleurs en mémoire). Les applications doivent modifier le membre bV5ProfileData après avoir chargé la DIB en mémoire.

Pour les DIB empaquetés, les données de profil doivent suivre les bits bitmap similaires au format de fichier. Le membre bV5ProfileData doit toujours donner le décalage des données de profil à partir du début de la BITMAPV5HEADER.

Les applications doivent accéder aux données de profil uniquement lorsque bV5Size est égal à la taille du BITMAPV5HEADER et que bV5CSType est égal à PROFILE_EMBEDDED ou PROFILE_LINKED.

Si un profil est lié, le chemin d’accès du profil peut être n’importe quel nom complet (y compris un chemin d’accès réseau) qui peut être ouvert à l’aide de la fonction CreateFile .

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

BITMAPV4HEADER

Bitmap Structures

Vue d’ensemble des bitmaps

CIEXYZTRIPLE

CreateDIBitmap

LOGCOLORSPACE

StretchDIBits