Funzione CreateBitmapIndirect (wingdi.h)

La funzione CreateBitmapIndirect crea una bitmap con la larghezza, l'altezza e il formato di colore specificati (piani di colore e bit per pixel).

Sintassi

HBITMAP CreateBitmapIndirect(
  [in] const BITMAP *pbm
);

Parametri

[in] pbm

Puntatore a una struttura BITMAP che contiene informazioni sulla bitmap. Se un'applicazione imposta i membri bmWidth o bmHeight su zero, CreateBitmapIndirect restituisce l'handle a una bitmap monocromatica a 1 by-1 pixel.

Valore restituito

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

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

Questa funzione può restituire i valori seguenti.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Uno o più parametri di input non sono validi.
ERROR_NOT_ENOUGH_MEMORY
La bitmap è troppo grande per l'allocazione della memoria.

Commenti

La funzione CreateBitmapIndirect crea una bitmap dipendente dal dispositivo.

Dopo aver creato una bitmap, è possibile selezionarla in un contesto di dispositivo chiamando la funzione SelectObject . Tuttavia, la bitmap può essere selezionata solo in un contesto di dispositivo se la bitmap e il controller di dominio hanno lo stesso formato.

Anche se la funzione CreateBitmapIndirect può essere usata per creare bitmap a colori, per motivi di prestazioni le applicazioni devono usare CreateBitmapIndirect per creare bitmap monocromatiche e CreateCompatibleBitmap per creare bitmap a colori. Ogni volta che viene selezionata una bitmap a colori da CreateBitmapIndirect in un contesto di dispositivo, il sistema deve assicurarsi che la bitmap corrisponda al formato del contesto di dispositivo in cui viene selezionata. Poiché CreateCompatibleBitmap accetta un contesto di dispositivo, restituisce una bitmap con lo stesso formato del contesto di dispositivo specificato. Di conseguenza, le chiamate successive a SelectObject sono più veloci con una bitmap a colori da CreateCompatibleBitmap rispetto a una bitmap a colori restituita da CreateBitmapIndirect.

Se la bitmap è monocromatica, gli zeri rappresentano il colore di primo piano e quelli rappresentano il colore di sfondo per il contesto del dispositivo di destinazione.

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

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

BITMAP

Bitblt

Funzioni bitmap

Panoramica delle bitmap

CreateBitmap

CreateCompatibleBitmap

CreateDIBitmap

DeleteObject

SelectObject