Поделиться через


Рисование затеняемого прямоугольника

Чтобы нарисовать затененные прямоугольники, определите массив TRIVERTEX с двумя элементами и одной GRADIENT_RECT структурой. В следующем примере кода показано, как нарисовать затеняемый прямоугольник с помощью функции 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