다음을 통해 공유


전역 변환 사용

전역 변환은 Graphics 클래스의 속성입니다. 전역 변환을 지정하는 숫자는 3×3 매트릭스를 나타내는 Matrix 개체에 저장됩니다. Matrix 클래스와 Graphics 클래스에는 전역 변환 매트릭스에 숫자를 설정하기 위한 메서드가 여러 개 있습니다.

여러 종류의 변환

다음 예제의 코드에서는 먼저 50×50 사각형을 만들어 원점(0, 0)에 배치합니다. 원점은 클라이언트 영역의 왼쪽 위 모퉁이에 있습니다.

        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)

Rectangle rect = new Rectangle(0, 0, 50, 50);
Pen pen = 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);

참고 항목

참조

Matrix

기타 리소스

좌표계 및 변환

관리 GDI+에서 변환 사용