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


Метод LinearGradientBrush::SetTransform (gdiplusbrush.h)

Метод LinearGradientBrush::SetTransform задает матрицу преобразования этой линейной кисти градиента.

Синтаксис

Status SetTransform(
  [in] const Matrix *matrix
);

Параметры

[in] matrix

Тип: const Matrix*

Указатель на объект Matrix , указывающий матрицу преобразования.

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

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

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

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

Комментарии

Объект LinearGradientBrush имеет прямоугольник, указывающий начальную и конечную границы градиента, а также режим или угол, влияющий на направление. Если матрица преобразования кисти представляет любое преобразование, отличное от идентификатора, границы и направление преобразуются в соответствии с этой матрицей во время отрисовки.

Преобразование применяется только во время отрисовки. Границы, хранящиеся объектом LinearGradientBrush, не изменяются методом LinearGradientBrush::SetTransform .

Примеры

В следующем примере создается линейная кисть градиента и она используется для заполнения прямоугольника. Затем код изменяет матрицу преобразования кисти и заполняет прямоугольник преобразованной кистью.

VOID Example_SetTransform(HDC hdc)
{
   Graphics myGraphics(hdc);

   LinearGradientBrush linGrBrush( 
      Rect(0, 0, 100, 50),
      Color(255, 255, 0, 0),  // red
      Color(255, 0, 0, 255),  // blue
      LinearGradientModeHorizontal);

   Matrix matrix(2.0, 0, 0, 1, 0, 0);  // horizontal doubling

   // Fill a large area with the linear gradient brush (no transformation).
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 800, 50);

   linGrBrush.SetTransform(&matrix);

   // Fill a large area with the transformed linear gradient brush.
   myGraphics.FillRectangle(&linGrBrush, 0, 75, 800, 50);
}

Требования

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

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

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

Создание линейного градиента

Заполнение фигур градиентной кистью

LinearGradientBrush;

LinearGradientBrush::GetTransform

LinearGradientBrush::ResetTransform

Матрица

Матричное представление преобразований

Rect

Преобразования