Использование объемного преобразования
Мировое преобразование — это свойство 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);