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