Freigeben über


SetDIBits-Funktion (wingdi.h)

Die SetDIBits-Funktion legt die Pixel in einer kompatiblen Bitmap (DDB) unter Verwendung der Farbdaten im angegebenen DIB fest.

Syntax

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
);

Parameter

[in] hdc

Ein Handle für einen Gerätekontext.

[in] hbm

Ein Handle für die kompatible Bitmap (DDB), die mithilfe der Farbdaten des angegebenen DIB geändert werden soll.

[in] start

Die Startscanlinie für die geräteunabhängigen Farbdaten im Array, auf das der lpvBits-Parameter verweist.

[in] cLines

Die Anzahl der Scanzeilen im Array, die geräteunabhängige Farbdaten enthalten.

[in] lpBits

Ein Zeiger auf die DIB-Farbdaten, der als Bytearray gespeichert ist. Das Format der Bitmapwerte hängt vom biBitCount-Element der BITMAPINFO-Struktur ab, auf die der lpbmi-Parameter verweist.

[in] lpbmi

Ein Zeiger auf eine BITMAPINFO-Struktur , die Informationen zum DIB enthält.

[in] ColorUse

Gibt an, ob das bmiColors-Element der BITMAPINFO-Struktur bereitgestellt wurde und, falls ja, ob bmiColors explizite rote, grüne, blaue (RGB)-Werte oder Palettenindizes enthält. Der fuColorUse-Parameter muss einer der folgenden Werte sein.

Wert Bedeutung
DIB_PAL_COLORS
Die Farbtabelle besteht aus einem Array von 16-Bit-Indizes in der logischen Palette des durch den hdc-Parameter identifizierten Gerätekontexts.
DIB_RGB_COLORS
Die Farbtabelle wird bereitgestellt und enthält literale RGB-Werte.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Anzahl der kopierten Scanzeilen.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Dies kann der folgende Wert sein.

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Mindestens ein Eingabeparameter ist ungültig.

Hinweise

Die optimale Bitmapzeichnungsgeschwindigkeit wird erreicht, wenn die Bitmapbits Indizes in der Systempalette sind.

Anwendungen können die Farben und Indizes der Systempalette abrufen, indem sie die GetSystemPaletteEntries-Funktion aufrufen. Nachdem die Farben und Indizes abgerufen wurden, kann die Anwendung den DIB erstellen. Weitere Informationen finden Sie unter Systempalette.

Der durch den hdc-Parameter identifizierte Gerätekontext wird nur verwendet, wenn die DIB_PAL_COLORS Konstante für den Parameter fuColorUse festgelegt ist. andernfalls wird sie ignoriert.

Die durch den hbmp-Parameter identifizierte Bitmap darf nicht in einem Gerätekontext ausgewählt werden, wenn die Anwendung diese Funktion aufruft.

Die Scanzeilen müssen auf einem DWORD ausgerichtet werden, mit Ausnahme von RLE-komprimierten Bitmaps.

Der Ursprung für bottom-up-DIBs ist die linke untere Ecke der Bitmap. Der Ursprung für top-down-DIBs ist die obere linke Ecke der Bitmap.

ICM: Die Farbverwaltung wird ausgeführt, wenn die Farbverwaltung mit einem Aufruf von SetICMMode aktiviert wurde, wobei der Parameter iEnableICM auf ICM_ON festgelegt ist. Wenn die von lpbmi angegebene Bitmap über einen BITMAPV4HEADER verfügt, der die Gamma- und Endpunktmitglieder angibt, oder über einen BITMAPV5HEADER , der entweder die Gamma- und Endpunktmitglieder oder die ProfileData- und profileSize-Member angibt, behandelt der Aufruf die Pixel der Bitmap so, als würden sie im von diesen Membern beschriebenen Farbraum und nicht im Quellfarbraum des Gerätekontexts ausgedrückt.

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

Bitmapfunktionen

Übersicht über Bitmaps

GetDIBits

GetSystemPaletteEntries