Show / Hide Table of Contents

Использование объемного преобразования

Мировое преобразование — это свойство Graphics класса. Числа, определяющие мировое преобразование хранятся в Matrix объект, представляющий матрицу 3 × 3. Matrix И Graphics классы имеют различные методы для установки числа в матрицу мирового преобразования.

Различные типы преобразований

В следующем примере код сначала создает прямоугольник 50 × 50 и помещает его в точку начала координат (0, 0). Начало координат находится в левом верхнем углу клиентской области.

Rectangle rect = new Rectangle(0, 0, 50, 50);
Pen pen = new Pen(Color.FromArgb(128, 200, 0, 200), 2);
e.Graphics.DrawRectangle(pen, rect);

Следующий код применяет преобразование масштабирования, который расширяет прямоугольник, соотношение 1,75 по оси x и к прямоугольнику с коэффициентом 0,5 по оси y:

e.Graphics.ScaleTransform(1.75f, 0.5f);
e.Graphics.DrawRectangle(pen, rect); 

Результатом является прямоугольник, который больше времени по оси x и короче по оси y исходного.

Чтобы повернуть прямоугольник вместо его масштабирования, используйте следующий код:

e.Graphics.ResetTransform();
e.Graphics.RotateTransform(28); // 28 degrees
e.Graphics.DrawRectangle(pen, rect);

Чтобы преобразовать прямоугольник, используйте следующий код:

e.Graphics.ResetTransform();
e.Graphics.TranslateTransform(150, 150);
e.Graphics.DrawRectangle(pen, rect);

См. также

  • Matrix
  • Системы координат и преобразования
  • Использование преобразований в управляемом GDI+
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX