Funzione SetDIBits (wingdi.h)

La funzione SetDIBits imposta i pixel in una bitmap compatibile (DDB) usando i dati di colore trovati nel DIB specificato.

Sintassi

int SetDIBits(
  [in] HDC              hdc,
  [in] HBITMAP          hbm,
  [in] UINT             start,
  [in] UINT             cLines,
  [in] const VOID       *lpBits,
  [in] const BITMAPINFO *lpbmi,
  [in] UINT             ColorUse
);

Parametri

[in] hdc

Handle per un contesto di dispositivo.

[in] hbm

Handle per la bitmap compatibile (DDB) che deve essere modificata usando i dati di colore dal DIB specificato.

[in] start

Riga di analisi iniziale per i dati di colore indipendenti dal dispositivo nella matrice a cui punta il parametro lpvBits .

[in] cLines

Numero di righe di analisi trovate nella matrice contenente dati di colore indipendenti dal dispositivo.

[in] lpBits

Puntatore ai dati dei colori DIB archiviati come matrice di byte. Il formato dei valori bitmap dipende dal membro biBitCount della struttura BITMAPINFO a cui punta il parametro lpbmi .

[in] lpbmi

Puntatore a una struttura BITMAPINFO che contiene informazioni sul DIB.

[in] ColorUse

Indica se il membro bmiColors della struttura BITMAPINFO è stato fornito e, in tal caso, se bmiColors contiene valori rossi, verdi, blu (RGB) o indici della tavolozza. Il parametro fuColorUse deve essere uno dei valori seguenti.

Valore Significato
DIB_PAL_COLORS
La tabella dei colori è costituita da una matrice di indici a 16 bit nella tavolozza logica del contesto del dispositivo identificato dal parametro hdc .
DIB_RGB_COLORS
La tabella dei colori viene fornita e contiene valori RGB letterali.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è il numero di righe di analisi copiate.

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

Questo può essere il valore seguente.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Uno o più parametri di input non sono validi.

Commenti

La velocità di disegno bitmap ottimale viene ottenuta quando i bit bitmap sono indici nella tavolozza di sistema.

Le applicazioni possono recuperare i colori e gli indici del riquadro di sistema chiamando la funzione GetSystemPaletteEntries . Dopo aver recuperato i colori e gli indici, l'applicazione può creare il DIB. Per altre informazioni, vedere Tavolozza sistema.

Il contesto del dispositivo identificato dal parametro hdc viene usato solo se la costante DIB_PAL_COLORS è impostata per il parametro fuColorUse ; in caso contrario, viene ignorato.

La bitmap identificata dal parametro hbmp non deve essere selezionata in un contesto del dispositivo quando l'applicazione chiama questa funzione.

Le righe di analisi devono essere allineate su una DWORD , ad eccezione delle bitmap compresse da RLE.

L'origine per i DIB in basso è l'angolo inferiore sinistro della bitmap; l'origine per i DIB in alto verso il basso è l'angolo superiore sinistro della bitmap.

ICM: La gestione dei colori viene eseguita se la gestione dei colori è stata abilitata con una chiamata a SetICMMode con il parametro iEnableICM impostato su ICM_ON. Se la bitmap specificata da lpbmi ha un BITMAPV4HEADER che specifica i membri gamma ed endpoint o un BITMAPV5HEADER che specifica i membri gamma ed endpoint o i membri profileData e profileSize, la chiamata considera i pixel della bitmap come espressi nello spazio colori descritto dai membri, anziché nello spazio colore del contesto del dispositivo.

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

Funzioni bitmap

Panoramica delle bitmap

GetDIBits

GetSystemPaletteEntries