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


Метод Matrix::Invert (gdiplusmatrix.h)

Если эта матрица является инвертируемым, метод Matrix::Invert заменяет элементы этой матрицы элементами ее обратной.

Синтаксис

Status Invert();

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

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

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

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

Комментарии

Если эта матрица не является инвертируемым, метод завершается ошибкой и возвращает InvalidParameter.

Примеры

В следующем примере адрес объекта Matrix передается методу SetTransform объекта Graphics , а затем рисуется прямоугольник. Прямоугольник преобразуется 30 единиц прямо и 20 единиц вниз путем преобразования мира объекта Graphics . Код вызывает метод Matrix::Invert объекта Matrix и задает преобразование мира объекта Graphics в инвертированную матрицу. Код рисует второй прямоугольник, который преобразуется 30 оставшихся и 20 единиц вверх.

VOID Example_Invert(HDC hdc)
{
   Graphics myGraphics(hdc);
   Pen myPen(Color(255, 0, 0, 255));

   Matrix matrix(1.0f, 0.0f, 0.0f, 1.0f, 30.0f, 20.0f);

   myGraphics.SetTransform(&matrix);
   myGraphics.DrawRectangle(&myPen, 0, 0, 200, 100);
   matrix.Invert();
   myGraphics.SetTransform(&matrix);
   myGraphics.DrawRectangle(&myPen, 0, 0, 200, 100);  
}

Требования

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

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

Глобальные и локальные преобразования

Матрица

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

Matrix::IsInvertible

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