Метод PathGradientBrush::SetInterpolationColors (gdipluspath.h)
Метод PathGradientBrush::SetInterpolationColors задает предустановленные цвета и положения смешения этой кисти градиента пути.
Синтаксис
Status SetInterpolationColors(
[in] const Color *presetColors,
[in] const REAL *blendPositions,
[in] INT count
);
Параметры
[in] presetColors
Тип: константный цвет*
Указатель на массив объектов Color , указывающий цвета интерполяции для градиента. Цвет заданного индекса в массиве presetColors соответствует позиции смешения этого же индекса в массиве blendPositions .
[in] blendPositions
Тип: REAL*
Указатель на массив, указывающий позиции смешения. Каждая позиция смешения — это число от 0 до 1, где 0 обозначает границу градиента, а 1 — центральную точку. Позиция смешения от 0 до 1 указывает набор всех точек, которые являются определенной долей расстояния от границы до центральной точки. Например, позиция смешения 0,7 указывает набор всех точек, которые находятся на 70 процентах пути от границы до центральной точки.
[in] count
Тип: INT
Целое число, указывающее количество объектов Color в предустановленном массивеColors . Это то же, что и количество элементов в массиве blendPositions .
Возвращаемое значение
Тип: Состояние
В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .
Если метод завершается сбоем, он возвращает один из других элементов перечисления Status .
Комментарии
Простая кисть градиента пути имеет два цвета: цвет границы и центральный цвет. При рисовании такой кистью цвет постепенно меняется от цвета границы к центру при переходе от пути границы к центральной точке. Вы можете создать более сложный градиент, указав массив предустановленных цветов и массив позиций наложения.
Примеры
В следующем примере создается объект PathGradientBrush на основе треугольного пути. Метод PathGradientBrush::SetInterpolationColors задает для предустановленных цветов кисти красный, синий и aqua, а для положений наложения — 0, 0, 4 и 1. Метод Graphics::FillRectangle использует кисть градиента пути для рисования прямоугольника, содержащего треугольный путь.
VOID Example_SetInterpColors(HDC hdc)
{
Graphics graphics(hdc);
Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};
PathGradientBrush pthGrBrush(points, 3);
Color col[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 0, 255), // blue
Color(255, 0, 255, 255)}; // aqua
REAL pos[] = {
0.0f, // red at the boundary
0.4f, // blue 40 percent of the way from the boundary to the center
1.0f}; // aqua at the center
pthGrBrush.SetInterpolationColors(col, pos, 3);
graphics.FillRectangle(&pthGrBrush, 0, 0, 300, 300);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP, Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | gdipluspath.h (включая Gdiplus.h) |
Библиотека | Gdiplus.lib |
DLL | Gdiplus.dll |