Freigeben über


Zeichnen eines schattierten Rechtecks

Um ein schattiertes Rechteck zu zeichnen, definieren Sie ein TRIVERTEX-Array mit zwei Elementen und einer einzelnen GRADIENT_RECT-Struktur . Im folgenden Codebeispiel wird gezeigt, wie ein schattiertes Rechteck mithilfe der GradientFill-Funktion mit dem definierten GRADIENT_FILL_RECT-Modus gezeichnet wird.

// Create an array of TRIVERTEX structures that describe 
// positional and color values for each vertex. For a rectangle, 
// only two vertices need to be defined: upper-left and lower-right. 
TRIVERTEX vertex[2] ;
vertex[0].x     = 0;
vertex[0].y     = 0;
vertex[0].Red   = 0x0000;
vertex[0].Green = 0x8000;
vertex[0].Blue  = 0x8000;
vertex[0].Alpha = 0x0000;

vertex[1].x     = 300;
vertex[1].y     = 80; 
vertex[1].Red   = 0x0000;
vertex[1].Green = 0xd000;
vertex[1].Blue  = 0xd000;
vertex[1].Alpha = 0x0000;

// Create a GRADIENT_RECT structure that 
// references the TRIVERTEX vertices. 
GRADIENT_RECT gRect;
gRect.UpperLeft  = 0;
gRect.LowerRight = 1;

// Draw a shaded rectangle. 
GradientFill(hdc, vertex, 2, &gRect, 1, GRADIENT_FILL_RECT_H);

Die folgende Abbildung zeigt die Zeichnungsausgabe des vorherigen Codebeispiels.

Abbildung eines Rechtecks mit einer Farbverlaufsfüllung von Dunkel auf der linken Seite bis hell auf der rechten Seite

Übersicht über Bitmaps

Bitmapfunktionen

Zeichnen eines schattierten Dreiecks

EMRGRADIENTFILL

GRADIENT_RECT

GradientFill

TRIVERTEX