Condividi tramite


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.

Nota Uno spazio dei colori è un modello per rappresentare il colore numericamente in termini di tre o più coordinate. Ad esempio, lo spazio dei colori RGB rappresenta i colori in termini di coordinate rosse, verdi e blu.
 

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)

Vedi anche

BITMAPINFO

BITMAPINFOHEADER

BITMAPV5HEADER

Strutture bitmap

Panoramica delle bitmap

CIEXYZTRIPLE

CreateDIBitmap

LOGCOLORSPACE

StretchDIBits