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.
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 |
---|---|
|
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 |