Метод 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 |
См. также раздел
Заполнение фигуры цветным градиентом
Матричное представление преобразований