Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die GdiGradientFill-Funktion füllt Rechteck- und Dreiecksstrukturen aus.
Syntax
BOOL GdiGradientFill(
[in] HDC hdc,
[in] PTRIVERTEX pVertex,
[in] ULONG nVertex,
[in] PVOID pMesh,
[in] ULONG nCount,
[in] ULONG ulMode
);
Parameter
[in] hdc
Ein Handle für den Zielgerätekontext.
[in] pVertex
Ein Zeiger auf ein Array von TRIVERTEX-Strukturen , die jeweils einen Dreiecksvertex definieren.
[in] nVertex
Die Anzahl der Scheitelpunkte in pVertex.
[in] pMesh
Ein Array von GRADIENT_TRIANGLE Strukturen im Dreieckmodus oder ein Array von GRADIENT_RECT Strukturen im Rechteckmodus.
[in] nCount
Die Anzahl der Elemente (Dreiecke oder Rechtecke) in pMesh.
[in] ulMode
Der Farbverlaufsfüllmodus. Dieser Parameter kann einen der folgenden Werte annehmen.
| Wert | Bedeutung |
|---|---|
|
In diesem Modus beschreiben zwei Endpunkte ein Rechteck. Das Rechteck ist so definiert, dass es eine konstante Farbe (angegeben durch die TRIVERTEX-Struktur ) für den linken und rechten Rand hat. GDI interpoliert die Farbe vom linken zum rechten Rand und füllt das Innere aus. |
|
In diesem Modus beschreiben zwei Endpunkte ein Rechteck. Das Rechteck ist so definiert, dass es eine konstante Farbe (angegeben durch die TRIVERTEX-Struktur ) für den oberen und unteren Rand hat. GDI interpoliert die Farbe vom oberen zum unteren Rand und füllt den Innenraum aus. |
|
In diesem Modus wird ein Array von TRIVERTEX-Strukturen zusammen mit einer Liste von Arrayindizes, die separate Dreiecke beschreiben, an GDI übergeben. GDI führt eine lineare Interpolation zwischen Dreiecksvertices durch und füllt das Innere aus. Das Zeichnen erfolgt direkt im Modus 24 und 32 bpp. Dithering wird im 16-, 8-, 4- und 1-bpp-Modus ausgeführt. |
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE.
Hinweise
Um einem Rechteck eine glatte Schattierung hinzuzufügen, rufen Sie GdiGradientFill mit den Koordinaten oben links und unten rechts des Rechtecks auf. Beim Zeichnen eines Rechtecks werden zwei Schattierungsmodi verwendet. Im horizontalen Modus wird das Rechteck von links nach rechts schattiert. Im vertikalen Modus wird das Rechteck von oben nach unten schattiert. Hier ist die Zeichnungsausgabe von zwei schattierten Rechtecken – eines im horizontalen Modus, das andere im vertikalen Modus.
. Die GdiGradientFill-Funktion verwendet eine Gittermethode, um die Endpunkte des zu zeichnenden Objekts anzugeben. Alle Scheitelpunkte werden im pVertex-Array an GdiGradientFill übergeben. Der Parameter pMesh gibt an, wie diese Scheitelpunkte verbunden sind, um ein -Objekt zu bilden. Beim Füllen eines Rechtecks zeigt pMesh auf ein Array von GRADIENT_RECT Strukturen. Jede GRADIENT_RECT-Struktur gibt den Index von zwei Scheitelpunkten im pVertex-Array an. Diese beiden Scheitelpunkte bilden die obere linke und untere rechte Grenze eines Rechtecks.
Beim Füllen eines Dreiecks zeigt pMesh auf ein Array von GRADIENT_TRIANGLE Strukturen. Jede GRADIENT_TRIANGLE-Struktur gibt den Index von drei Scheitelpunkten im pVertex-Array an. Diese drei Scheitelpunkte bilden ein Dreieck.
Um die Hardwarebeschleunigung zu vereinfachen, muss diese Routine im Dreiecksinnenraum nicht pixelgenau sein.
Beachten Sie, dass GdiGradientFill den Alpha-Member der TRIVERTEX-Struktur nicht verwendet. Um GdiGradientFill mit Transparenz zu verwenden, rufen Sie GdiGradientFill auf, und rufen Sie dann GdiAlphaBlend mit den gewünschten Werten für den Alphakanal jedes Scheitelpunkts auf.
Weitere Informationen finden Sie unter Smooth Shading, Zeichnen eines schattierten Dreiecks und Zeichnen eines schattierten Rechtecks.
Anforderungen
| Anforderung | Wert |
|---|---|
| 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 (windows.h einschließen) |
| Bibliothek | Gdi32.lib |
| DLL | Gdi32.dll |