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


Метод 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

См. также раздел

Кисти и закрашенные фигуры

Цвет

Создание градиента пути

Заполнение фигуры цветным градиентом

PathGradientBrush

PathGradientBrush::GetInterpolationColors