다음을 통해 공유


세계 변환 사용하는 방법

전역 변환은 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)

참고하십시오