Share via


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

Weitere Informationen

DEVINFO

DrvSetPalette

EngDeletePalette