Метод PathGradientBrush::SetFocusScales (gdipluspath.h)

Метод PathGradientBrush::SetFocusScales задает масштабы фокуса этой кисти градиента пути.

Синтаксис

Status SetFocusScales(
  [in] REAL xScale,
  [in] REAL yScale
);

Параметры

[in] xScale

Тип: REAL

Реальное число, указывающее шкалу фокуса x.

[in] yScale

Тип: REAL

Реальное число, указывающее масштаб фокуса Y.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .

Комментарии

По умолчанию центральный цвет градиента пути находится в центральной точке. Вызвав PathGradientBrush::SetFocusScales, можно указать, что центральный цвет должен отображаться вдоль пути, окружающего центральную точку. Этот путь представляет собой путь границы, масштабируемый с коэффициентом xScale в направлении x и с коэффициентом yScale в направлении y. Область внутри масштабируемого пути заполняется цветом центра.

Примеры

В следующем примере создается объект PathGradientBrush на основе треугольного пути. Код вызывает метод PathGradientBrush::SetFocusScales объекта PathGradientBrush , чтобы задать масштаб фокуса кисти (0,2, 0,2). Затем код использует кисть градиента пути, чтобы закрасить прямоугольник, включающий треугольный путь.

VOID Example_SetFocusScales(HDC hdc)
{
   Graphics graphics(hdc);

   Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};

   // No GraphicsPath object is created. The PathGradientBrush
   // object is constructed directly from the array of points.
   PathGradientBrush pthGrBrush(points, 3);

   Color colors[] = {
      Color(255, 255, 0, 0),    // red
      Color(255, 0, 0, 255)};   // blue

   REAL relativePositions[] = {
      0.0f,    // red at the boundary of the outer triangle
      1.0f};   // blue at the boundary of the inner triangle

   pthGrBrush.SetInterpolationColors(colors, relativePositions, 2);

   // The inner triangle is formed by scaling the outer triangle
   // about its centroid. The scaling factor is 0.2 in both
   // the x and y directions.
   pthGrBrush.SetFocusScales(0.2f, 0.2f);

   // Fill a rectangle that is larger than the triangle
   // specified in the Point array. The portion of the
   // rectangle outside the triangle will not be painted.
   graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200); 
}

Требования

Требование Значение
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdipluspath.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

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

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

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

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

PathGradientBrush

PathGradientBrush::GetFocusScales

PathGradientBrush::SetInterpolationColors