BITMAPV5HEADER Struktur (wingdi.h)

Die BITMAPV5HEADER-Struktur ist die Bitmap-Informationsheaderdatei. Es handelt sich um eine erweiterte Version der BITMAPINFOHEADER-Struktur .

Syntax

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;

Member

bV5Size

Die Anzahl der Byte, die von der Struktur benötigt werden. Anwendungen sollten diesen Member verwenden, um zu bestimmen, welche Bitmap-Informationsheaderstruktur verwendet wird.

bV5Width

Die Breite der Bitmap in Pixel.

Wenn bV5Compression BI_JPEG oder BI_PNG ist, gibt das bV5Width-Element die Breite des dekomprimierten JPEG- oder PNG-Bilds in Pixel an.

bV5Height

Die Höhe der Bitmap in Pixel. Wenn der Wert von bV5Height positiv ist, ist die Bitmap ein DIB von unten nach oben, und ihr Ursprung ist die linke untere Ecke. Wenn der Wert bV5Height negativ ist, ist die Bitmap ein DIB von oben nach unten, und ihr Ursprung ist die obere linke Ecke.

Wenn bV5Height negativ ist und einen DIB von oben nach unten anzeigt, muss bV5Compression entweder BI_RGB oder BI_BITFIELDS sein. Top-Down-DIBs können nicht komprimiert werden.

Wenn bV5Compression BI_JPEG oder BI_PNG ist, gibt das bV5Height-Element die Höhe des dekomprimierten JPEG- oder PNG-Bilds in Pixel an.

bV5Planes

Die Anzahl der Ebenen für das Zielgerät. Dieser Wert muss auf 1 festgelegt werden.

bV5BitCount

Die Anzahl der Bits, die jedes Pixel definieren, und die maximale Anzahl von Farben in der Bitmap.

Dieser Member kann einer der folgenden Werte sein.

Wert Bedeutung
0 Die Anzahl der Bits pro Pixel wird durch das JPEG- oder PNG-Dateiformat angegeben oder impliziert.
1 Die Bitmap ist monochrom, und das bmiColors-Element von BITMAPINFO enthält zwei Einträge. Jedes Bit im Bitmaparray stellt ein Pixel dar. Wenn das Bit klar ist, wird das Pixel mit der Farbe des ersten Eintrags in der bmiColors-Farbtabelle angezeigt. Wenn das Bit festgelegt ist, hat das Pixel die Farbe des zweiten Eintrags in der Tabelle.
4 Die Bitmap hat maximal 16 Farben, und das bmiColors-Element von BITMAPINFO enthält bis zu 16 Einträge. Jedes Pixel in der Bitmap wird durch einen 4-Bit-Index in der Farbtabelle dargestellt. Wenn das erste Byte in der Bitmap beispielsweise 0x1F ist, stellt das Byte zwei Pixel dar. Das erste Pixel enthält die Farbe im zweiten Tabelleneintrag und das zweite Pixel die Farbe im sechzehnten Tabelleneintrag.
8 Die Bitmap hat maximal 256 Farben, und das bmiColors-Element von BITMAPINFO enthält bis zu 256 Einträge. In diesem Fall stellt jedes Byte im Array ein einzelnes Pixel dar.
16 Die Bitmap hat maximal 2^16 Farben. Wenn das bV5Compression-Element der BITMAPV5HEADER-Struktur BI_RGB ist, ist das bmiColors-Element von BITMAPINFONULL. Jedes WORD im Bitmaparray stellt ein einzelnes Pixel dar. Die relativen Intensitäten von Rot, Grün und Blau werden mit fünf Bits für jede Farbkomponente dargestellt. Der Wert für Blau liegt in den geringsten fünf Bits, gefolgt von jeweils fünf Bits für Grün und Rot. Das wichtigste Bit wird nicht verwendet. Die bmiColors-Farbtabelle wird zum Optimieren von Farben verwendet, die auf palettenbasierten Geräten verwendet werden, und muss die Anzahl von Einträgen enthalten, die vom bV5ClrUsed-Member des BITMAPV5HEADER angegeben werden. Wenn das bV5Compression-Element des BITMAPV5HEADER BI_BITFIELDS ist, enthält das bmiColors-Element drei DWORD-Farbmasken , die die roten, grünen und blauen Komponenten jedes Pixels angeben. Jedes WORD im Bitmaparray stellt ein einzelnes Pixel dar.

Wenn der bV5Compression-Member BI_BITFIELDS ist, müssen bits, die in jeder DWORD-Maske festgelegt sind, zusammenhängend sein und dürfen die Bits einer anderen Maske nicht überlappen. Alle Bits im Pixel müssen nicht verwendet werden.

24 Die Bitmap hat maximal 2^24 Farben, und das bmiColors-Element von BITMAPINFO ist NULL. Jedes 3-Byte-Triplet im Bitmaparray stellt die relativen Intensitäten von Blau, Grün und Rot für ein Pixel dar. Die bmiColors-Farbtabelle wird zum Optimieren von Farben verwendet, die auf palettenbasierten Geräten verwendet werden, und muss die Anzahl von Einträgen enthalten, die vom bV5ClrUsed-Member der BITMAPV5HEADER-Struktur angegeben werden.
32 Die Bitmap hat maximal 2^32 Farben. Wenn das bV5Compression-Element des BITMAPV5HEADER BI_RGB ist, ist das bmiColors-Element von BITMAPINFONULL. Jedes DWORD im Bitmaparray stellt die relativen Intensitäten von Blau, Grün und Rot für ein Pixel dar. Der Wert für Blau liegt in den geringsten 8 Bits, gefolgt von jeweils 8 Bits für Grün und Rot. Das hohe Byte in jedem DWORD wird nicht verwendet. Die bmiColors-Farbtabelle wird zum Optimieren von Farben verwendet, die auf palettenbasierten Geräten verwendet werden, und muss die Anzahl von Einträgen enthalten, die vom bV5ClrUsed-Member des BITMAPV5HEADER angegeben werden. Wenn das bV5Compression-Element der BITMAPV5HEADER BI_BITFIELDS ist, enthält das bmiColors-Element drei DWORD-Farbmasken , die die roten, grünen und blauen Komponenten jedes Pixels angeben. Jedes DWORD im Bitmaparray stellt ein einzelnes Pixel dar.

bV5Compression

Gibt an, dass die Bitmap nicht komprimiert ist. Die Elemente bV5RedMask, bV5GreenMask und bV5BlueMask geben die roten, grünen und blauen Komponenten jedes Pixels an. Dies ist gültig, wenn sie mit Bitmaps mit 16 und 32 Bpp verwendet wird. Dieser Member kann einer der folgenden Werte sein.

Wert Bedeutung
BI_RGB Ein nicht komprimiertes Format.
BI_RLE8 Ein RLE-Format (run-length codd) für Bitmaps mit 8 bpp. Das Komprimierungsformat ist ein Zwei-Byte-Format, das aus einem Count-Byte gefolgt von einem Byte mit einem Farbindex besteht. Wenn bV5Compression BI_RGB ist und das bV5BitCount-Element 16, 24 oder 32 ist, gibt das Bitmaparray die tatsächlichen Intensitäten von Blau, Grün und Rot anstelle von Farbtabellenindizes an. Weitere Informationen finden Sie unter Bitmapkomprimierung.
BI_RLE4 Ein RLE-Format für Bitmaps mit 4 bpp. Das Komprimierungsformat ist ein Zwei-Byte-Format, das aus einem Anzahlbyte gefolgt von zwei Wortlängenfarbindizes besteht. Weitere Informationen finden Sie unter Bitmapkomprimierung.
BI_BITFIELDS Gibt an, dass die Bitmap nicht komprimiert wird und dass die Farbmasken für die roten, grünen und blauen Komponenten jedes Pixels in den Elementen bV5RedMask, bV5GreenMask und bV5BlueMask angegeben werden. Dies ist gültig, wenn sie mit Bitmaps mit 16 und 32 Bpp verwendet wird.
BI_JPEG Gibt an, dass das Bild mithilfe des Austauschformats der JPEG-Datei komprimiert wird. Die JPEG-Komprimierung tauscht die Komprimierung gegen Verlust ab. Es kann ein Komprimierungsverhältnis von 20:1 mit wenig erkennbarem Verlust erreichen.
BI_PNG Gibt an, dass das Bild mithilfe des PNG-Dateiaustauschformats komprimiert wird.

bV5SizeImage

Die Größe des Bilds in Bytes. Dies kann für BI_RGB Bitmaps auf 0 festgelegt werden.

Wenn bV5Compression BI_JPEG oder BI_PNG ist, entspricht bV5SizeImage der Größe des JPEG- oder PNG-Bildpuffers.

bV5XPelsPerMeter

Die horizontale Auflösung des Zielgeräts in Pixel pro Meter für die Bitmap. Eine Anwendung kann diesen Wert verwenden, um eine Bitmap aus einer Ressourcengruppe auszuwählen, die den Merkmalen des aktuellen Geräts am besten entspricht.

bV5YPelsPerMeter

Die vertikale Auflösung des Zielgeräts für die Bitmap in Pixel pro Meter.

bV5ClrUsed

Die Anzahl der Farbindizes in der Farbtabelle, die tatsächlich von der Bitmap verwendet werden. Wenn dieser Wert 0 ist, verwendet die Bitmap die maximale Anzahl von Farben, die dem Wert des bV5BitCount-Elements für den von bV5Compression angegebenen Komprimierungsmodus entsprechen.

Wenn bV5ClrUsed nonzero und bV5BitCount kleiner als 16 ist, gibt das bV5ClrUsed-Element die tatsächliche Anzahl von Farben an, auf die die Grafik-Engine oder der Gerätetreiber zugreift. Wenn bV5BitCount 16 oder höher ist, gibt das bV5ClrUsed-Element die Größe der Farbtabelle an, die zum Optimieren der Leistung der Systemfarbpaletten verwendet wird. Wenn bV5BitCount gleich 16 oder 32 ist, beginnt die optimale Farbpalette unmittelbar nach dem BITMAPV5HEADER. Wenn bV5ClrUsed nichtzero ist, wird die Farbtabelle auf palettisierten Geräten verwendet, und bV5ClrUsed gibt die Anzahl der Einträge an.

bV5ClrImportant

Die Anzahl der Farbindizes, die für die Anzeige der Bitmap erforderlich sind. Wenn dieser Wert 0 ist, sind alle Farben erforderlich.

bV5RedMask

Farbmaske, die die rote Komponente jedes Pixels angibt, ist nur gültig, wenn bV5Compression auf BI_BITFIELDS festgelegt ist.

bV5GreenMask

Farbmaske, die die grüne Komponente jedes Pixels angibt, gilt nur, wenn bV5Compression auf BI_BITFIELDS festgelegt ist.

bV5BlueMask

Farbmaske, die die blaue Komponente jedes Pixels angibt, gilt nur, wenn bV5Compression auf BI_BITFIELDS festgelegt ist.

bV5AlphaMask

Farbmaske, die die Alphakomponente jedes Pixels angibt.

bV5CSType

Der Farbraum des DIB.

Die folgende Tabelle gibt die Werte für bV5CSType an.

Wert Bedeutung
LCS_CALIBRATED_RGB Dieser Wert impliziert, dass Endpunkte und Gammawerte in den entsprechenden Feldern angegeben werden.
LCS_sRGB Gibt an, dass sich die Bitmap im sRGB-Farbraum befindet.
LCS_WINDOWS_COLOR_SPACE Dieser Wert gibt an, dass sich die Bitmap im Systemstandardfarbraum sRGB befindet.
PROFILE_LINKED Dieser Wert gibt an, dass bV5ProfileData auf den Dateinamen des zu verwendenden Profils verweist (Gamma- und Endpunktwerte werden ignoriert).
PROFILE_EMBEDDED Dieser Wert gibt an, dass bV5ProfileData auf einen Speicherpuffer verweist, der das zu verwendende Profil enthält (Gamma- und Endpunktwerte werden ignoriert).
 

Informationen, die einen logischen Farbraum definieren, finden Sie in der LOGCOLORSPACE-Struktur .

bV5Endpoints

Eine CIEXYZTRIPLE-Struktur , die die x-, y- und z-Koordinaten der drei Farben angibt, die den roten, grünen und blauen Endpunkten für den logischen Farbraum entsprechen, der der Bitmap zugeordnet ist. Dieses Element wird ignoriert, es sei denn, das bV5CSType-Element gibt LCS_CALIBRATED_RGB an.

bV5GammaRed

Tonierte Antwortkurve für Rot. Wird verwendet, wenn bV5CSType auf LCS_CALIBRATED_RGB festgelegt ist. Geben Sie im nicht signierten festen 16.16-Format an. Die oberen 16 Bits sind der ganzzahlige Wert ohne Vorzeichen. Die unteren 16 Bits sind der Bruchteil.

bV5GammaGreen

Tonierte Antwortkurve für Grün. Wird verwendet, wenn bV5CSType auf LCS_CALIBRATED_RGB festgelegt ist. Geben Sie im nicht signierten festen 16.16-Format an. Die oberen 16 Bits sind der ganzzahlige Wert ohne Vorzeichen. Die unteren 16 Bits sind der Bruchteil.

bV5GammaBlue

Tonierte Antwortkurve für Blau. Wird verwendet, wenn bV5CSType auf LCS_CALIBRATED_RGB festgelegt ist. Geben Sie im nicht signierten festen 16.16-Format an. Die oberen 16 Bits sind der ganzzahlige Wert ohne Vorzeichen. Die unteren 16 Bits sind der Bruchteil.

bV5Intent

Renderingabsicht für Bitmap. Dies kann einer der folgenden Werte sein.

Wert Intent ICC-Name Bedeutung
LCS_GM_ABS_COLORIMETRIC Match Absolute Farbmetrik Behält den Weißpunkt bei. Ordnet die Farben der nächstgelegenen Farbe im Zielraum ab.
LCS_GM_BUSINESS Graphic Sättigung Behält die Sättigung bei. Wird für Geschäftsdiagramme und andere Situationen verwendet, in denen nicht versehene Farben erforderlich sind.
LCS_GM_GRAPHICS Proof Relative Farbmetrik Verwaltet die farbmetrische Übereinstimmung. Wird für Grafikdesigns und benannte Farben verwendet.
LCS_GM_IMAGES Picture Wahrnehmungs Behält den Kontrast bei. Wird für Fotografien und natürliche Bilder verwendet.

bV5ProfileData

Der Offset in Bytes vom Anfang der BITMAPV5HEADER Struktur bis zum Anfang der Profildaten. Wenn das Profil eingebettet ist, sind Die Profildaten das tatsächliche Profil und sind verknüpft. (Die Profildaten sind der mit NULL beendete Dateiname des Profils.) Hierbei kann es sich nicht um eine Unicode-Zeichenfolge handeln. Er muss ausschließlich aus Zeichen aus dem Windows-Zeichensatz (Codepage 1252) bestehen. Diese Profilmitglieder werden ignoriert, es sei denn, das bV5CSType-Element gibt PROFILE_LINKED oder PROFILE_EMBEDDED an.

bV5ProfileSize

Größe eingebetteter Profildaten in Bytes.

bV5Reserved

Dieses Element wurde reserviert. Der Wert sollte auf 0 festgelegt werden.

Hinweise

Wenn bV5Height negativ ist und einen DIB von oben nach unten anzeigt, muss bV5Compression entweder BI_RGB oder BI_BITFIELDS sein. Top-Down-DIBs können nicht komprimiert werden.

Mit der Independent Color Management Interface (ICM) 2.0 können Farbprofile des International Color Consortium (ICC) verknüpft oder in DIBs (DIBs) eingebettet werden. Weitere Informationen finden Sie unter Verwenden von Strukturen .

Wenn ein DIB in den Arbeitsspeicher geladen wird, sollten die Profildaten (sofern vorhanden) der Farbtabelle folgen, und bV5ProfileData sollte den Offset der Profildaten vom Anfang der BITMAPV5HEADER Struktur bereitstellen. Der in bV5ProfileData gespeicherte Wert unterscheidet sich von dem Wert, der vom Sizeof-Operator aufgrund des BITMAPV5HEADER-Arguments zurückgegeben wird, da bV5ProfileData der Offset in Bytes vom Anfang der BITMAPV5HEADER-Struktur bis zum Anfang der Profildaten ist. (Bitmapbits folgen nicht der Farbtabelle im Arbeitsspeicher).) Anwendungen sollten den bV5ProfileData-Member nach dem Laden des DIB in den Arbeitsspeicher ändern.

Bei gepackten DIBs sollten die Profildaten den Bitmapbits ähnlich dem Dateiformat folgen. Das bV5ProfileData-Element sollte weiterhin den Offset der Profildaten vom Anfang des BITMAPV5HEADER.

Anwendungen sollten nur dann auf die Profildaten zugreifen, wenn bV5Size der Größe des BITMAPV5HEADER entspricht und bV5CSType PROFILE_EMBEDDED oder PROFILE_LINKED.

Wenn ein Profil verknüpft ist, kann der Pfad des Profils ein beliebiger vollqualifizierter Name (einschließlich eines Netzwerkpfads) sein, der mit der CreateFile-Funktion geöffnet werden kann.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile wingdi.h (einschließlich Windows.h)

Weitere Informationen

BITMAPINFO

BITMAPINFOHEADER

BITMAPV4HEADER

Bitmapstrukturen

Übersicht über Bitmaps

CIEXYZTRIPLE

CreateDIBitmap

LOGCOLORSPACE

StretchDIBits