Funzione CreateDIBitmap (wingdi.h)

La funzione CreateDIBitmap crea una bitmap compatibile (DDB) da un DIB e, facoltativamente, imposta i bit bitmap.

Sintassi

HBITMAP CreateDIBitmap(
  [in] HDC                    hdc,
  [in] const BITMAPINFOHEADER *pbmih,
  [in] DWORD                  flInit,
  [in] const VOID             *pjBits,
  [in] const BITMAPINFO       *pbmi,
  [in] UINT                   iUsage
);

Parametri

[in] hdc

Handle per un contesto di dispositivo.

[in] pbmih

Puntatore a una struttura di intestazione di informazioni bitmap , BITMAPV5HEADER.

Se fdwInit è CBM_INIT, la funzione usa la struttura di intestazione delle informazioni bitmap per ottenere la larghezza e l'altezza desiderate della bitmap, nonché altre informazioni. Si noti che un valore positivo per l'altezza indica un DIB inferiore mentre un valore negativo per l'altezza indica un DIB dall'alto verso il basso. La chiamata a CreateDIBitmap con fdwInit come CBM_INIT equivale a chiamare la funzione CreateCompatibleBitmap per creare un DDB nel formato del dispositivo e quindi chiamare la funzione SetDIBits per convertire i bit DIB nel DDB.

[in] flInit

Specifica il modo in cui il sistema inizializza i bit bitmap. Viene definito il valore seguente.

Valore Significato
CBM_INIT
Se questo flag è impostato, il sistema usa i dati a cui puntano i parametri lpbInit e lpbmi per inizializzare i bit bitmap.

Se questo flag è chiaro, i dati a cui puntano tali parametri non vengono usati.

 

Se fdwInit è zero, il sistema non inizializza i bit bitmap.

[in] pjBits

Puntatore a una matrice di byte contenente i dati bitmap iniziali. Il formato dei dati dipende dal membro biBitCount della struttura BITMAPINFO a cui punta il parametro lpbmi .

[in] pbmi

Puntatore a una struttura BITMAPINFO che descrive le dimensioni e il formato di colore della matrice a cui punta il parametro lpbInit .

[in] iUsage

Specifica se il membro bmiColors della struttura BITMAPINFO è stato inizializzato e, in tal caso, se bmiColors contiene valori espliciti rosso, verde, blu (RGB) o indici della tavolozza. Il parametro fuUsage deve essere uno dei valori seguenti.

Valore Significato
DIB_PAL_COLORS
Viene fornita una tabella dei colori ed è costituita da una matrice di indici a 16 bit nella tavolozza logica del contesto di dispositivo in cui deve essere selezionata la bitmap.
DIB_RGB_COLORS
Viene fornita una tabella dei colori e contiene valori RGB letterali.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un handle per la bitmap compatibile.

Se la funzione ha esito negativo, il valore restituito è NULL.

Commenti

Il DDB creato sarà la profondità di bit del controller di dominio di riferimento. Per creare una bitmap con profondità di bit diversa, usare CreateDIBSection.

Affinché un dispositivo raggiunga una velocità di disegno bitmap ottimale, specificare fdwInit come CBM_INIT. Usare quindi lo stesso DIB della profondità dei colori della modalità video. Quando il video è in esecuzione 4 o 8 bpp, usare DIB_PAL_COLORS.

Il flag CBM_CREATDIB per il parametro fdwInit non è più supportato.

Quando la bitmap non è più necessaria, chiamare la funzione DeleteObject per eliminarla.

ICM: Non viene eseguita alcuna gestione dei colori. Il contenuto della bitmap risultante non corrisponde al colore dopo la creazione della bitmap.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

BITMAPINFO

BITMAPINFOHEADER

Funzioni bitmap

Panoramica delle bitmap

CreateCompatibleBitmap

CreateDIBSection

DeleteObject

GetDeviceCaps

GetSystemPaletteEntries

SelectObject

SetDIBits