Share via


BITMAPV4HEADER Struktur (wingdi.h)

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

Anwendungen können die BITMAPV5HEADER-Struktur für zusätzliche Funktionen verwenden.

Syntax

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;

Member

bV4Size

Die Anzahl von Bytes, die für die -Struktur erforderlich sind. Anwendungen sollten diesen Member verwenden, um zu bestimmen, welche Bitmapinformationsheaderstruktur verwendet wird.

bV4Width

Die Breite der Bitmap in Pixel.

Wenn bV4Compression BI_JPEG oder BI_PNG ist, gibt bV4Width die Breite des JPEG- oder PNG-Bilds in Pixel an.

bV4Height

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

Wenn bV4Height negativ ist und einen Top-Down-DIB angibt, muss bV4Compression entweder BI_RGB oder BI_BITFIELDS sein. Top-down-DIBs können nicht komprimiert werden.

Wenn bV4Compression BI_JPEG oder BI_PNG ist, gibt bV4Height die Höhe des JPEG- oder PNG-Bilds in Pixel an.

bV4Planes

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

bV4BitCount

Die Anzahl der Bits pro Pixel. Der bV4BitCount-Member der BITMAPV4HEADER-Struktur bestimmt die Anzahl der Bits, die jedes Pixel definieren, und die maximale Anzahl von Farben in der Bitmap. Dieser Member muss einer der folgenden Werte sein.

Wert Bedeutung
0 Die Anzahl der Bits pro Pixel wird angegeben oder durch das JPEG- oder PNG-Dateiformat 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 Tabelle bmiColors 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 beispielsweise das erste Byte in der Bitmap 0x1F ist, stellt das Byte zwei Pixel dar. Das erste Pixel enthält die Farbe im zweiten Tabelleneintrag, und das zweite Pixel enthält 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 weist maximal 2^16 Farben auf. Wenn der bV4Compression-Member der BITMAPV4HEADER-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 am wenigsten signifikanten fünf Bits, gefolgt von jeweils fünf Bits für Grün bzw. 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 der Einträge enthalten, die vom bV4ClrUsed-Element des BITMAPV4HEADER angegeben werden. Wenn der bV4Compression-Member des BITMAPV4HEADER 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.
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 der Einträge enthalten, die vom bV4ClrUsed-Element des BITMAPV4HEADER angegeben werden.
32 Die Bitmap hat maximal 2^32 Farben. Wenn der bV4Compression-Member des BITMAPV4HEADER 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 ist in den am wenigsten signifikanten 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 der Einträge enthalten, die vom bV4ClrUsed-Element des BITMAPV4HEADER angegeben werden. Wenn der bV4Compression-Member des BITMAPV4HEADER 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.

bV4V4Compression

Der Komprimierungstyp für eine komprimierte Bottom-up-Bitmap (Top-Down-DIBs können nicht komprimiert werden). Dieser Member kann einer der folgenden Werte sein.

Wert BESCHREIBUNG
BI_RGB Ein unkomprimiertes Format.
BI_RLE8 Ein run-length-codiertes Format (RLE) für Bitmaps mit 8 bpp. Das Komprimierungsformat ist ein 2-Byte-Format, das aus einem Anzahlbyte gefolgt von einem Byte besteht, das einen Farbindex enthält. Weitere Informationen finden Sie unter Bitmapkomprimierung.
BI_RLE4 Ein RLE-Format für Bitmaps mit 4 bpp. Das Komprimierungsformat ist ein 2-Byte-Format, das aus einem Anzahlbyte gefolgt von zwei Wörtern langen Farbindizes besteht. Weitere Informationen finden Sie unter Bitmapkomprimierung.
BI_BITFIELDS Gibt an, dass die Bitmap nicht komprimiert wird. Die Member bV4RedMask, bV4GreenMask und bV4BlueMask geben die roten, grünen und blauen Komponenten für jedes Pixel an. Dies ist bei Verwendung mit 16- und 32-bpp-Bitmaps gültig.
BI_JPEG Gibt an, dass das Bild mithilfe des JPEG-Dateiformats komprimiert wird. Die JPEG-Komprimierung tauscht Komprimierung gegen Verlust ab; es kann ein Komprimierungsverhältnis von 20:1 mit wenig spürbarem Verlust erreichen.
BI_PNG Gibt an, dass das Bild mithilfe des PNG-Dateiformats komprimiert wird.

bV4SizeImage

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

Wenn bV4Compression BI_JPEG oder BI_PNG ist, ist bV4SizeImage die Größe des JPEG- oder PNG-Bildpuffers.

bV4XPelsPerMeter

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

bV4YPelsPerMeter

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

bV4ClrUsed

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 bV4BitCount-Elements für den von bV4Compression angegebenen Komprimierungsmodus entsprechen.

Wenn bV4ClrUsed ungleich null ist und das bV4BitCount-Element kleiner als 16 ist, gibt das bV4ClrUsed-Element die tatsächliche Anzahl von Farben an, auf die die Grafik-Engine oder der Gerätetreiber zugreift. Wenn bV4BitCount 16 oder höher ist, gibt das bV4ClrUsed-Element die Größe der Farbtabelle an, die zum Optimieren der Leistung der Systemfarbpaletten verwendet wird. Wenn bV4BitCount gleich 16 oder 32 ist, beginnt die optimale Farbpalette unmittelbar nach dem BITMAPV4HEADER.

bV4ClrImportant

Die Anzahl der Farbindizes, die zum Anzeigen der Bitmap erforderlich sind. Wenn dieser Wert null ist, sind alle Farben wichtig.

bV4RedMask

Farbmaske, die die rote Komponente jedes Pixels angibt, gilt nur, wenn bV4Compression auf BI_BITFIELDS festgelegt ist.

bV4GreenMask

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

bV4BlueMask

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

bV4AlphaMask

Farbmaske, die die Alphakomponente jedes Pixels angibt.

bV4CSType

Der Farbraum des DIB. In der folgenden Tabelle ist der Wert für bV4CSType aufgeführt.

Wert Bedeutung
LCS_CALIBRATED_RGB Dieser Wert gibt an, dass Endpunkte und Gammawerte in den entsprechenden Feldern angegeben werden.
 

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

bV4Endpoints

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 bV4CSType-Element gibt LCS_CALIBRATED_RGB an.

Hinweis Ein Farbraum ist ein Modell zur numerischen Darstellung von Farben in Bezug auf drei oder mehr Koordinaten. Der RGB-Farbraum stellt beispielsweise Farben in Bezug auf die roten, grünen und blauen Koordinaten dar.
 

bV4GammaRed

Tonantwortkurve für Rot. Dieser Member wird ignoriert, es sei denn, Die Farbwerte sind RGB-Werte kalibriert und bV4CSType ist auf LCS_CALIBRATED_RGB festgelegt. 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.

bV4GammaGreen

Tonantwortkurve für Grün. Wird verwendet, wenn bV4CSType 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.

bV4GammaBlue

Tonantwortkurve für Blau. Wird verwendet, wenn bV4CSType 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.

Hinweise

Die BITMAPV4HEADER-Struktur wird erweitert, damit ein JPEG- oder PNG-Bild als Quellbild an StretchDIBits übergeben 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

BITMAPV5HEADER

Bitmapstrukturen

Übersicht über Bitmaps

CIEXYZTRIPLE

CreateDIBitmap

LOGCOLORSPACE

StretchDIBits