BITMAPV4HEADER struttura (wingdi.h)
La struttura BITMAPV4HEADER è il file di intestazione delle informazioni bitmap. È una versione estesa della struttura BITMAPINFOHEADER .
Le applicazioni possono usare la struttura BITMAPV5HEADER per le funzionalità aggiunte.
Sintassi
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;
Members
bV4Size
Numero di byte richiesti dalla struttura. Le applicazioni devono usare questo membro per determinare la struttura dell'intestazione delle informazioni bitmap usata.
bV4Width
Larghezza della bitmap, in pixel.
Se bV4Compression è BI_JPEG o BI_PNG, bV4Width specifica la larghezza dell'immagine JPEG o PNG in pixel.
bV4Height
Altezza della bitmap, in pixel. Se bV4Height è positivo, la bitmap è un DIB inferiore e la relativa origine è l'angolo inferiore sinistro. Se bV4Height è negativo, la bitmap è un DIB superiore verso il basso e la relativa origine è l'angolo superiore sinistro.
Se bV4Height è negativo, indicante un DIB in alto verso il basso, bV4Compression deve essere BI_RGB o BI_BITFIELDS. Non è possibile comprimere i dib in alto verso il basso.
Se bV4Compression è BI_JPEG o BI_PNG, bV4Height specifica l'altezza dell'immagine JPEG o PNG in pixel.
bV4Planes
Numero di piani per il dispositivo di destinazione. Questo valore deve essere impostato su 1.
bV4BitCount
Numero di bit per pixel. Il membro bV4BitCount della struttura BITMAPV4HEADER determina il numero di bit che definiscono ogni pixel e il numero massimo di colori nella bitmap. Questo membro deve essere uno dei valori seguenti.
Valore | Significato |
---|---|
0 | Il numero di bit per pixel viene specificato o è implicito nel formato di file JPEG o PNG. |
1 | La bitmap è monocromatica e il membro bmiColors di BITMAPINFO contiene due voci. Ogni bit nella matrice bitmap rappresenta un pixel. Se il bit è chiaro, il pixel viene visualizzato con il colore della prima voce nella tabella bmiColors ; se il bit è impostato, il pixel ha il colore della seconda voce nella tabella. |
4 | La bitmap ha un massimo di 16 colori e il membro bmiColors di BITMAPINFO contiene fino a 16 voci. Ogni pixel nella bitmap è rappresentato da un indice a 4 bit nella tabella dei colori. Ad esempio, se il primo byte nella bitmap è 0x1F, il byte rappresenta due pixel. Il primo pixel contiene il colore nella seconda voce della tabella e il secondo pixel contiene il colore nella voce della sedicesima tabella. |
8 | La bitmap ha un massimo di 256 colori e il membro bmiColors di BITMAPINFO contiene fino a 256 voci. In questo caso, ogni byte nella matrice rappresenta un singolo pixel. |
16 | La bitmap ha un massimo di 2^16 colori. Se il membro bV4Compression della struttura BITMAPV4HEADER è BI_RGB, il membro bmiColors di BITMAPINFO è NULL. Ogni WORD nella matrice bitmap rappresenta un singolo pixel. Le intensità relative di rosso, verde e blu sono rappresentate con cinque bit per ogni componente di colore. Il valore per il blu è nel minimo significativo cinque bit, seguito rispettivamente da cinque bit per verde e rosso. Il bit più significativo non viene usato. La tabella dei colori bmiColors viene usata per ottimizzare i colori usati nei dispositivi basati su tavolozza e deve contenere il numero di voci specificate dal membro bV4ClrUsed del BITMAPV4HEADER. Se il membro bV4Compression del BITMAPV4HEADER è BI_BITFIELDS, il membro bmiColors contiene tre maschere di colore DWORD che specificano i componenti rosso, verde e blu di ogni pixel. Ogni WORD nella matrice bitmap rappresenta un singolo pixel. |
24 | La bitmap ha un massimo di 2^24 colori e il membro bmiColors di BITMAPINFO è NULL. Ogni tripletta a 3 byte nella matrice bitmap rappresenta l'intensità relativa di blu, verde e rosso per un pixel. La tabella dei colori bmiColors viene usata per ottimizzare i colori usati nei dispositivi basati su tavolozza e deve contenere il numero di voci specificate dal membro bV4ClrUsed del BITMAPV4HEADER. |
32 | La bitmap ha un massimo di 2^32 colori. Se il membro bV4Compression del BITMAPV4HEADER è BI_RGB, il membro bmiColors di BITMAPINFO è NULL. Ogni DWORD nella matrice bitmap rappresenta l'intensità relativa di blu, verde e rosso per un pixel. Il valore per blu è nel minimo significativo 8 bit, seguito da 8 bit ogni per verde e rosso. Il byte elevato in ogni DWORD non viene usato. La tabella dei colori bmiColors viene usata per ottimizzare i colori usati nei dispositivi basati su tavolozza e deve contenere il numero di voci specificate dal membro bV4ClrUsed del BITMAPV4HEADER. Se il membro bV4Compression del BITMAPV4HEADER è BI_BITFIELDS, il membro bmiColors contiene tre maschere di colore DWORD che specificano i componenti rosso, verde e blu di ogni pixel. Ogni DWORD nella matrice bitmap rappresenta un singolo pixel. |
bV4V4Compression
Tipo di compressione per una bitmap in basso compressa (non è possibile comprimere i DIBS in alto verso il basso). Questo membro può essere uno dei valori seguenti.
Valore | Descrizione |
---|---|
BI_RGB | Formato non compresso. |
BI_RLE8 | Formato con codifica run-length (RLE) per le bitmap con 8 bpp. Il formato di compressione è un formato a 2 byte costituito da un conteggio seguito da un byte contenente un indice di colore. Per altre informazioni, vedere Compressione bitmap. |
BI_RLE4 | Formato RLE per le bitmap con 4 bpp. Il formato di compressione è un formato a 2 byte costituito da un conteggio byte seguito da due indici di colore di lunghezza della parola. Per altre informazioni, vedere Compressione bitmap. |
BI_BITFIELDS | Specifica che la bitmap non è compressa. I membri bV4RedMask, bV4GreenMask e bV4BlueMask specificano i componenti rosso, verde e blu per ogni pixel. Questa operazione è valida quando viene usata con bitmap da 16 a 32-bpp. |
BI_JPEG | Specifica che l'immagine viene compressa usando il formato di interscambio file JPEG. La compressione JPEG scambia la compressione contro la perdita; può ottenere un rapporto di compressione di 20:1 con una perdita minima evidente. |
BI_PNG | Specifica che l'immagine viene compressa usando il formato di interscambio file PNG. |
bV4SizeImage
Dimensioni, in byte, dell'immagine. Può essere impostato su zero per le bitmap BI_RGB.
Se bV4Compression è BI_JPEG o BI_PNG, bV4SizeImage è la dimensione del buffer di immagini JPEG o PNG.
bV4XPelsPerMeter
Risoluzione orizzontale, in pixel per contatore, del dispositivo di destinazione per la bitmap. Un'applicazione può usare questo valore per selezionare una bitmap da un gruppo di risorse che corrisponde meglio alle caratteristiche del dispositivo corrente.
bV4YPelsPerMeter
Risoluzione verticale, in pixel per contatore, del dispositivo di destinazione per la bitmap.
bV4ClrUsed
Numero di indici di colore nella tabella dei colori effettivamente usati dalla bitmap. Se questo valore è zero, la bitmap usa il numero massimo di colori corrispondenti al valore del membro bV4BitCount per la modalità di compressione specificata da bV4Compression.
Se bV4ClrUsed è diverso da zero e il membro bV4BitCount è minore di 16, il membro bV4ClrUsed specifica il numero effettivo di colori a cui accede il motore grafico o il driver di dispositivo. Se bV4BitCount è 16 o superiore, il membro bV4ClrUsed specifica le dimensioni della tabella colori utilizzata per ottimizzare le prestazioni delle tavolozze dei colori di sistema. Se bV4BitCount è uguale a 16 o 32, la tavolozza dei colori ottimale inizia immediatamente dopo la BITMAPV4HEADER.
bV4ClrImportant
Numero di indici di colore necessari per la visualizzazione della bitmap. Se questo valore è zero, tutti i colori sono importanti.
bV4RedMask
Maschera di colore che specifica il componente rosso di ogni pixel, valida solo se bV4Compression è impostata su BI_BITFIELDS.
bV4GreenMask
Maschera di colore che specifica il componente verde di ogni pixel, valida solo se bV4Compression è impostato su BI_BITFIELDS.
bV4BlueMask
Maschera di colore che specifica il componente blu di ogni pixel, valido solo se bV4Compression è impostato su BI_BITFIELDS.
bV4AlphaMask
Maschera di colore che specifica il componente alfa di ogni pixel.
bV4CSType
Spazio dei colori del DIB. La tabella seguente elenca il valore per bV4CSType.
Valore | Significato |
---|---|
LCS_CALIBRATED_RGB | Questo valore indica che gli endpoint e i valori gamma vengono specificati nei campi appropriati. |
Vedere la struttura LOGCOLORSPACE per informazioni che definisce uno spazio di colore logico.
bV4Endpoints
Struttura CIEXYZTRIPLE che specifica le coordinate x, y e z dei tre colori corrispondenti agli endpoint rosso, verde e blu per lo spazio di colore logico associato alla bitmap. Questo membro viene ignorato a meno che il membro bV4CSType non specifichi LCS_CALIBRATED_RGB.
bV4GammaRed
Curva di risposta tono per rosso. Questo membro viene ignorato a meno che i valori di colore non siano calibrati e bV4CSType sia impostato su LCS_CALIBRATED_RGB. Specificare in formato 16.16 fisso senza segno. I 16 bit superiori sono il valore intero senza segno. I 16 bit inferiori sono la parte frazionaria.
bV4GammaGreen
Curva di risposta tono per verde. Usato se bV4CSType è impostato su LCS_CALIBRATED_RGB. Specificare in formato 16.16 fisso senza segno. I 16 bit superiori sono il valore intero senza segno. I 16 bit inferiori sono la parte frazionaria.
bV4GammaBlue
Curva di risposta tono per blu. Usato se bV4CSType è impostato su LCS_CALIBRATED_RGB. Specificare in formato 16.16 fisso senza segno. I 16 bit superiori sono il valore intero senza segno. I 16 bit inferiori sono la parte frazionaria.
Commenti
La struttura BITMAPV4HEADER viene estesa per consentire il passaggio di un'immagine JPEG o PNG come immagine di origine a StretchDIBits.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | wingdi.h (include Windows.h) |