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.

Wert Bedeutung
CBM_INIT
Wenn dieses Flag festgelegt ist, verwendet das System die Daten, auf die die Parameter lpbInit und lpbmi verweisen, um die Bitmapbits zu initialisieren.

Wenn dieses Flag eindeutig ist, werden die Daten, auf die diese Parameter verweisen, nicht verwendet.

 

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.

Wert Bedeutung
DIB_PAL_COLORS
Eine Farbtabelle wird bereitgestellt und besteht aus einem Array von 16-Bit-Indizes in der logischen Palette des Gerätekontexts, in dem die Bitmap ausgewählt werden soll.
DIB_RGB_COLORS
Es wird eine Farbtabelle bereitgestellt, die RGB-Literalwerte enthält.

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

Weitere Informationen

BITMAPINFO

BITMAPINFOHEADER

Bitmapfunktionen

Übersicht über Bitmaps

CreateCompatibleBitmap

CreateDIBSection

DeleteObject

GetDeviceCaps

GetSystemPaletteEntries

Auswählenobjekt

SetDIBits