绘制带阴影的矩形

若要绘制带阴影的矩形,请使用两个元素和一个GRADIENT_RECT结构定义 TRIVERTEX 数组。 下面的代码示例演示如何使用 GradientFill 函数绘制着色矩形,并定义了GRADIENT_FILL_RECT模式。

// 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);

下图显示了上述代码示例的绘图输出。

插图显示一个矩形,其渐变填充从左侧的深色到右侧浅色

位图概述

位图函数

绘制带阴影的三角形

EMRGRADIENTFILL

GRADIENT_RECT

GradientFill

TRIVERTEX