CreateDIBitmap-Funktion (wingdi.h)
Die CreateDIBitmap-Funktion erstellt eine kompatible Bitmap (DDB) aus einem DIB und legt optional die Bitmapbits fest.
Syntax
HBITMAP CreateDIBitmap(
[in] HDC hdc,
[in] const BITMAPINFOHEADER *pbmih,
[in] DWORD flInit,
[in] const VOID *pjBits,
[in] const BITMAPINFO *pbmi,
[in] UINT iUsage
);
Parameter
[in] hdc
Ein Handle für einen Gerätekontext.
[in] pbmih
Ein Zeiger auf eine Bitmapinformationsheaderstruktur , BITMAPV5HEADER.
Wenn fdwInit CBM_INIT ist, verwendet die Funktion die Bitmapinformationsheaderstruktur, um die gewünschte Breite und Höhe der Bitmap sowie andere Informationen abzurufen. Beachten Sie, dass ein positiver Wert für die Höhe einen DIB von unten nach oben angibt, während ein negativer Wert für die Höhe einen DIB von oben nach unten angibt. Das Aufrufen von CreateDIBitmap mit fdwInit als CBM_INIT entspricht dem Aufrufen der CreateCompatibleBitmap-Funktion , um eine DDB im Format des Geräts zu erstellen, und dann das Aufrufen der SetDIBits-Funktion , um die DIB-Bits in die DDB zu übersetzen.
[in] flInit
Gibt an, wie das System die Bitmapbits initialisiert. Der folgende Wert wird definiert.
Wenn fdwInit 0 ist, initialisiert das System die Bitmapbits nicht.
[in] pjBits
Ein Zeiger auf ein Array von Bytes, das die anfänglichen Bitmapdaten enthält. Das Format der Daten hängt vom biBitCount-Element der BITMAPINFO-Struktur ab, auf das der lpbmi-Parameter verweist.
[in] pbmi
Ein Zeiger auf eine BITMAPINFO-Struktur , die die Dimensionen und das Farbformat des Arrays beschreibt, auf das der lpbInit-Parameter verweist.
[in] iUsage
Gibt an, ob das bmiColors-Element der BITMAPINFO-Struktur initialisiert wurde und ob bmiColors explizite rote, grüne, blaue (RGB)-Werte oder Palettenindizes enthält. Der fuUsage-Parameter muss einer der folgenden Werte sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für die kompatible Bitmap.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL.
Hinweise
Die DDB, die erstellt wird, ist unabhängig von der Bittiefe, die Ihr Referenz-DC ist. Verwenden Sie CreateDIBSection, um eine Bitmap mit unterschiedlicher Bittiefe zu erstellen.
Damit ein Gerät eine optimale Bitmapzeichnungsgeschwindigkeit erreicht, geben Sie fdwInit als CBM_INIT an. Verwenden Sie dann die gleiche Farbtiefe DIB wie der Videomodus. Wenn das Video 4- oder 8-Bit-Dateien ausgeführt wird, verwenden Sie DIB_PAL_COLORS.
Das CBM_CREATDIB-Flag für den parameter fdwInit wird nicht mehr unterstützt.
Wenn Sie die Bitmap nicht mehr benötigen, rufen Sie die DeleteObject-Funktion auf, um sie zu löschen.
ICM: Es wird keine Farbverwaltung durchgeführt. Der Inhalt der resultierenden Bitmap wird nach dem Erstellen der Bitmap nicht farbgeglichen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wingdi.h (einschließlich Windows.h) |
Bibliothek | Gdi32.lib |
DLL | Gdi32.dll |