EngCreatePalette-Funktion (winddi.h)
Die EngCreatePalette-Funktion sendet eine Anforderung an GDI, um eine RGB-Palette zu erstellen.
Syntax
ENGAPI HPALETTE EngCreatePalette(
[in] ULONG iMode,
[in] ULONG cColors,
[in] ULONG *pulColors,
[in] FLONG flRed,
[in] FLONG flGreen,
[in] FLONG flBlue
);
Parameter
[in] iMode
Gibt an, wie die Palette definiert wird. Dieser Parameter kann einer der folgenden Werte sein:
Wert | Bedeutung |
---|---|
PAL_BITFIELDS | Die Palette wird durch die Parameter flRed, flGreen und flBlue definiert. |
PAL_BGR | Das Gerät akzeptiert RGB-Farben direkt, wobei B (Blau) das byte mit der geringsten Bedeutung ist. |
PAL_CMYK | Das Gerät akzeptiert CMYK-Farben direkt, wobei C (Cyan) das byte mit der geringsten Bedeutung ist. |
PAL_INDEXED | Ein Array von RGB-Farben wird mit cColors und pulColors bereitgestellt. |
PAL_RGB | Das Gerät akzeptiert RGB-Farben direkt, wobei R (rot) als das am wenigsten signifikante Byte ist. |
[in] cColors
Wenn der iMode-Parameter PAL_INDEXED ist, gibt cColors die Anzahl der Farben an, die im Array bereitgestellt werden, auf das von pulColors verwiesen wird. Andernfalls sollte dieser Parameter 0 sein.
[in] pulColors
Zeiger auf den Anfang eines Arrays von ULONG-Werten, wenn iMode PAL_INDEXED ist. Die niedrigen 3 Bytes jedes ULONG definieren die RGB-Farben in der Palette.
[in] flRed
Wenn der iMode-Parameter PAL_BITFIELDS ist, sind die Parameter flRed, flGreen und flBlue Masken, die anzeigen, welche Bits rot, grün und blau entsprechen. Jede Maske muss aus zusammenhängenden Bits bestehen und darf keine anderen Masken überlappen. Alle Kombinationen von Bitfeldern werden von GDI unterstützt.
[in] flGreen
Wenn der iMode-Parameter PAL_BITFIELDS ist, sind die Parameter flRed, flGreen und flBlue Masken, die anzeigen, welche Bits rot, grün und blau entsprechen. Jede Maske muss aus zusammenhängenden Bits bestehen und darf keine anderen Masken überlappen. Alle Kombinationen von Bitfeldern werden von GDI unterstützt.
[in] flBlue
Wenn der iMode-Parameter PAL_BITFIELDS ist, sind die Parameter flRed, flGreen und flBlue Masken, die anzeigen, welche Bits rot, grün und blau entsprechen. Jede Maske muss aus zusammenhängenden Bits bestehen und darf keine anderen Masken überlappen. Alle Kombinationen von Bitfeldern werden von GDI unterstützt.
Rückgabewert
Der Rückgabewert ist ein Handle für die neue Palette, wenn die Funktion erfolgreich ist. Andernfalls ist er 0, und ein Fehlercode wird protokolliert.
Hinweise
Der Treiber kann die neue Palette einem Gerät zuordnen, indem er einen Zeiger auf die Palette in der DEVINFO-Struktur zurückgibt.
Für eine PAL_INDEXED Palette, die dem Gerät zugeordnet ist, muss der erste Indexeintrag auf schwarz (rot = 0, grün = 0, blau = 0) und der letzte Eintrag auf Weiß (255, 255, 255, 255) festgelegt sein. Alle anderen Einträge sollten so festgelegt werden, dass Einträge, deren Indizes sich gegenseitig ergänzen, farbenkontrahiert sind. Wenn beispielsweise der Eintrag 0x9 einer Palette mit 16 Einträgen auf reines Grün (0.255,0) festgelegt ist, sollte der Eintrag 0x6 (=~0x9) auf eine Farbe festgelegt werden, die sich gut mit Grün kontrastiert, z. B. dunkelviolett (128,0,128). Durch das Festlegen von Einträgen auf diese Weise können sich XOR-Rastervorgänge angemessen verhalten. Sie sollten die Palette löschen, wenn Sie sie nicht mehr benötigen, indem Sie EngDeletePalette verwenden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows 2000 und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Universell |
Header | winddi.h (einschließlich Winddi.h) |
Bibliothek | Win32k.lib |
DLL | Win32k.sys |