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


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

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

Синтаксис

Status GetTransform(
  [out] Matrix *matrix
);

Параметры

[out] matrix

Тип: Матрица*

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

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

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

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

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

Комментарии

Объект PathGradientBrush поддерживает матрицу преобразования, которая может хранить любое аффинное преобразование. При использовании кисти градиента пути для заполнения области GDI+ преобразует путь границы кисти в соответствии с матрицей преобразования кисти, а затем заполняет внутреннюю часть преобразованного пути. Преобразованный путь существует только во время отрисовки; Путь границы, хранящийся в объекте PathGradientBrush , не преобразуется.

Примеры

В следующем примере создается объект PathGradientBrush на основе массива из трех точек. Методы PathGradientBrush::ScaleTransform и PathGradientBrush::TranslateTransform задают элементы матрицы преобразования кисти таким образом, чтобы матрица представляла составное преобразование (сначала масштаб, а затем преобразование). Это составное преобразование применяется к пути границы кисти, поэтому вызов FillRectangle заполняет внутреннюю часть треугольника, который является результатом масштабирования и преобразования пути границы. Код вызывает метод PathGradientBrush::GetTransform объекта PathGradientBrush для получения матрицы преобразования кисти, а затем вызывает метод GetElements полученного объекта Matrix для заполнения массива элементами матрицы.

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

   // Create a path gradient brush and set its transformation.
   Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
   PathGradientBrush pthGrBrush(pts, 3);
   pthGrBrush.ScaleTransform(3.0f, 1.0f);
   pthGrBrush.TranslateTransform(10.0f, 30.0f, MatrixOrderAppend);

   graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);

   // Obtain information about the path gradient brush.
   Matrix matrix;
   REAL elements[6];

   pthGrBrush.GetTransform(&matrix);
   matrix.GetElements(elements);

   for(INT j = 0; j <= 5; ++j)
   {
      // Inspect or use the value in elements[j].
   } 
}

Требования

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

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

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

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

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

Матрица

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

PathGradientBrush

PathGradientBrush::SetTransform

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