Метод PathGradientBrush::SetSurroundColors (gdipluspath.h)
Метод PathGradientBrush::SetSurroundColors задает объемные цвета этой кисти градиента пути. Объемные цвета — это цвета, указанные для дискретных точек на пути границы кисти.
Синтаксис
Status SetSurroundColors(
[in] const Color *colors,
[in, out] INT *count
);
Параметры
[in] colors
Тип: константный цвет*
Указатель на массив объектов Color , определяющих объемные цвета.
[in, out] count
Тип: INT*
Указатель на целое число, которое на входных данных указывает количество объектов Color в массиве цветов . Если метод завершается успешно, этот параметр в выходных данных получает количество заданных объемных цветов. Если метод завершается ошибкой, этот параметр не получает значение.
Возвращаемое значение
Тип: Состояние
В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .
Если метод завершается сбоем, он возвращает один из других элементов перечисления Status .
Комментарии
Кисть градиента пути имеет путь границы и центральную точку. Центральная точка имеет один цвет, но вы можете указать разные цвета для нескольких точек на границе. Например, предположим, что для центрального цвета задан красный цвет, а для разных точек на границе — синий, зеленый и желтый. Затем по мере перемещения вдоль границы цвет будет постепенно меняться с синего на зеленый на желтый и обратно на синий. При перемещении по прямой линии от любой точки границы к центральной точке цвет изменится с цвета этой точки границы на красный.
Примеры
В следующем примере создается объект PathGradientBrush на основе массива из трех точек, определяющего треугольный путь. Код также инициализирует массив из трех объектов Color . Вызов метода PathGradientBrush::SetSurroundColors связывает каждый цвет в цветовом массиве с соответствующей точкой (тот же индекс) в массиве точек. После задания цветов окружения кисти градиента пути метод Graphics::FillRectangle использует кисть градиента пути для рисования прямоугольника, включающего треугольный путь.
Один край отображаемого треугольника постепенно меняется с красного на зеленый. Следующий край постепенно меняется с зеленого на черный, а третий — с черного на красный. Код не задает цвет центра, поэтому цвет центра имеет значение по умолчанию черный. При перемещении по прямой линии от любой точки пути границы (треугольника) к центральной точке цвет постепенно меняется с цвета этой точки границы на черный.
VOID Example_SetSurColor(HDC hdc)
{
Graphics graphics(hdc);
Point pts[] = {
Point(20, 20),
Point(100, 20),
Point(100, 100)};
Color cols[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 255, 0), // green
Color(255, 0, 0, 0)}; // black
INT count = 3;
PathGradientBrush pthGrBrush(pts, 3);
pthGrBrush.SetSurroundColors(cols, &count);
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
}
Требования
Минимальная версия клиента | Windows XP, Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | gdipluspath.h (включая Gdiplus.h) |
Библиотека | Gdiplus.lib |
DLL | Gdiplus.dll |
См. также раздел
Заполнение фигуры цветным градиентом