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.
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) |