전역 변형 사용

전역 변환은 Graphics 클래스의 속성입니다. 전역 변환을 지정하는 숫자는 Matrix 개체에 저장되며, 이것은 3×3 행렬로 표현됩니다. MatrixGraphics 클래스는 전역 변환 행렬에 숫자를 설정하기 위한 여러 가지 방법을 사용합니다.

다른 유형의 변환

다음 예에서는 코드가 먼저 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);
Dim rect As New Rectangle(0, 0, 50, 50)
Dim pen As New Pen(Color.FromArgb(128, 200, 0, 200), 2)
e.Graphics.DrawRectangle(pen, rect)

다음 코드는 x 방향으로 1.75 계수로 사각형을 확장하고 y 방향으로 0.5 계수로 사각형을 줄이는 스케일링 변환을 적용합니다.

e.Graphics.ScaleTransform(1.75f, 0.5f);
e.Graphics.DrawRectangle(pen, rect);
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.RotateTransform(28) ' 28 degrees
e.Graphics.DrawRectangle(pen, rect)

사각형을 병진하려면 다음 코드를 사용합니다.

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

참고 항목