struttura _BITMAPINFOHEADER

La struttura _BITMAPINFOHEADER definisce il formato di un fotogramma video.

Sintassi

typedef struct _tagBITMAPINFOHEADER {
  DWORD biSize;
  LONG  biWidth;
  LONG  biHeight;
  WORD  biPlanes;
  WORD  biBitCount;
  DWORD biCompression;
  DWORD biSizeImage;
  LONG  biXPelsPerMeter;
  LONG  biYPelsPerMeter;
  DWORD biClrUsed;
  DWORD biClrImportant;
} _BITMAPINFOHEADER;

Members

biSize

Specifica il numero di byte richiesti dalla struttura.

biWidth

Specifica la larghezza della bitmap, espressa in pixel.

biHeight

Specifica l'altezza della bitmap, in pixel. Se biHeight è positivo, la bitmap è un DIB inferiore e la relativa origine è l'angolo inferiore sinistro. Se biHeight è negativo, la bitmap è un DIB dall'alto verso il basso e la relativa origine è l'angolo superiore sinistro. Se biHeight è negativo, che indica un DIB dall'alto verso il basso, biCompression deve essere BI_RGB o BI_BITFIELDS. I DIB dall'alto verso il basso non possono essere compressi.

Biplani

Specifica il numero di piani per il dispositivo di destinazione. Questo valore deve essere impostato su 1.

biBitCount

Specifica il numero di bit per pixel. Il membro biBitCount della struttura BITMAPINFOHEADER 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 Descrizione
1 La bitmap è monocromatica e il membro bmiColors 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.
2 La bitmap ha quattro valori di colore possibili.
4 La bitmap ha un massimo di 16 colori e il membro bmiColors 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 sedicesima voce della tabella.
8 La bitmap ha un massimo di 256 colori e il membro bmiColors 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 biCompression di BITMAPINFOHEADER è BI_RGB, il membro bmiColors è NULL. Ogni WORD nella matrice bitmap rappresenta un singolo pixel. Le intensità relative di rosso, verde e blu sono rappresentate con 5 bit per ogni componente di colore. Il valore di blu è nei 5 bit meno significativi, seguiti da 5 bit ciascuno per il verde e il rosso. Il bit più significativo non viene usato. La tabella dei colori bmiColors viene usata per ottimizzare i colori usati nei dispositivi basati sulla tavolozza e deve contenere il numero di voci specificate dal membro biClrUsed.
24 La bitmap ha un massimo di 2^24 colori e il membro bmiColors è NULL. Ogni tripletta a 3 byte nella matrice bitmap rappresenta rispettivamente le intensità relative di blu, verde e rosso per un pixel. La tabella dei colori bmiColors viene usata per ottimizzare i colori usati nei dispositivi basati sulla tavolozza e deve contenere il numero di voci specificate dal membro biClrUsed.
32 La bitmap ha un massimo di 2^32 colori. Se il membro biCompression è BI_RGB, il membro bmiColors è NULL. Ogni DWORD nella matrice bitmap rappresenta rispettivamente le intensità relative di blu, verde e rosso per un pixel. Non viene usato il byte elevato in ogni DWORD. La tabella dei colori bmiColors viene usata per ottimizzare i colori usati nei dispositivi basati sulla tavolozza e deve contenere il numero di voci specificate dal membro biClrUsed.

biCompression

Specifica il tipo di compressione per una bitmap in basso compressa (non è possibile comprimere i DIB dall'alto verso il basso). Questo membro può essere uno dei valori seguenti.

Valore Descrizione
BI_RGB Formato non compresso.
BI_BITFIELDS Specifica che la bitmap non è compressa e che la tabella dei colori è costituita da tre maschere di colore DWORD che specificano rispettivamente i componenti rosso, verde e blu di ogni pixel. Questa opzione è valida se usata con bitmap da 16 bpp e 32 bpp. Questo valore è valido in Microsoft Windows CE versione 2.0 e successive.

biSizeImage

Specifica le dimensioni dell'immagine, in byte. Può essere impostato su zero per BI_RGB bitmap.

biXPelsPerMeter

Specifica la risoluzione orizzontale, in pixel per metro, 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.

biYPelsPerMeter

Specifica la risoluzione verticale, in pixel per metro, del dispositivo di destinazione per la bitmap.

biClrUsed

Specifica il numero di indici di colore nella tabella dei colori effettivamente utilizzati dalla bitmap. Se questo valore è zero, la bitmap usa il numero massimo di colori corrispondente al valore del membro biBitCount per la modalità di compressione specificata da biCompression.

biClrImportant

Specifica il numero di indici di colore necessari per la visualizzazione della bitmap. Se questo valore è zero, sono necessari tutti i colori.

Se biClrUsed è diverso da zero e il membro biBitCount è minore di 16, il membro biClrUsed specifica il numero effettivo di colori a cui accede il motore di grafica o il driver di dispositivo. Se biBitCount è 16 o superiore, il membro biClrUsed specifica le dimensioni della tabella dei colori utilizzata per ottimizzare le prestazioni delle tavolozze dei colori di sistema. Se biBitCount è uguale a 16 o 32, la tavolozza dei colori ottimale inizia immediatamente dopo le tre maschere DWORD.

Se la bitmap è una bitmap compressa (una bitmap in cui la matrice bitmap segue immediatamente la struttura _BITMAPINFOHEADER e viene fatto riferimento da un singolo puntatore), il membro biClrUsed deve essere zero o la dimensione effettiva della tabella dei colori.

Commenti

Questa struttura è contenuta all'interno di una struttura _VIDEOINFOHEADER .

Requisiti

Requisito Valore
Intestazione
Wmdm.idl

Vedi anche

Strutture

_VIDEOINFOHEADER