다음을 통해 공유


GDI+의 펜, 선 및 사각형

GDI+에서 선을 그리려면 Graphics 개체와 Pen 개체를 만들어야 합니다. Graphics 개체는 실제로 그리기를 수행하는 메서드를 제공하며 Pen 개체에는 선의 색, 두께 및 스타일 같은 특성이 저장됩니다.

선 그리기

선을 그리려면 Graphics 개체의 DrawLine 메서드를 호출합니다. Pen 개체는 DrawLine 메서드에 대한 인수 중 하나로 전달됩니다. 다음 예제에서는 점 (4, 2)와 점 (12, 6)을 연결하는 선을 그립니다.

        myGraphics.DrawLine(myPen, 4, 2, 12, 6)

myGraphics.DrawLine(myPen, 4, 2, 12, 6);

DrawLineGraphics 클래스의 오버로드된 메서드이므로 여러 가지 방법으로 여기에 인수를 제공할 수 있습니다. 예를 들어 Point 개체를 두 개 만든 다음 Point 개체를 DrawLine 메서드에 대한 인수로 전달할 수 있습니다.

        Dim myStartPoint As New Point(4, 2)
        Dim myEndPoint As New Point(12, 6)
        myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)

Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);

Pen 개체 만들기

Pen 개체를 만들 때 몇 가지 특성을 지정할 수 있습니다. 예를 들어, Pen 생성자를 사용하여 색과 너비를 지정할 수 있습니다. 다음 예제에서는 (0, 0)과 (60, 30)을 연결하는 너비 2의 파랑 선을 그립니다.

        Dim myPen As New Pen(Color.Blue, 2)
        myGraphics.DrawLine(myPen, 0, 0, 60, 30)

Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);

파선 및 선 끝

Pen 개체는 DashStyle과 같이 선의 특징을 지정하는 데 사용할 수 있는 속성도 제공합니다. 다음 예제에서는 (100, 50)과 (300, 80)을 연결하는 파선을 그립니다.

        myPen.DashStyle = DashStyle.Dash
        myGraphics.DrawLine(myPen, 100, 50, 300, 80)

myPen.DashStyle = DashStyle.Dash;
myGraphics.DrawLine(myPen, 100, 50, 300, 80);

Pen 개체의 속성을 사용하여 선의 다양한 특성을 설정할 수 있습니다. StartCapEndCap 속성은 선 끝 모양을 지정합니다. 선 끝 모양은 평평하거나, 사각형이거나, 둥글거나, 삼각형일 수 있으며 모양을 사용자 지정할 수도 있습니다. LineJoin 속성을 사용하면 연결된 선을 마이터(날카로운 모퉁이와 조인), 빗면, 원형 스타일로 처리할지 아니면 클리핑할지 지정할 수 있습니다. 다음 그림은 다양한 끝 모양과 연결 스타일의 선을 보여 줍니다.

선

사각형 그리기

GDI+에서 사각형을 그리는 작업은 선 그리기와 비슷합니다. 사각형을 그리려면 Graphics 개체와 Pen 개체가 필요합니다. Graphics 개체는 DrawRectangle 메서드를 제공하고 Pen 개체에는 선의 색과 두께 같은 특성이 저장됩니다. Pen 개체는 DrawRectangle 메서드에 대한 인수 중 하나로 전달됩니다. 다음 예제에서는 (100,50)에 왼쪽 위 모퉁이를 갖는 너비 80, 높이 40의 사각형을 그립니다.

        myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)

myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);

DrawRectangleGraphics 클래스의 오버로드된 메서드이므로 여러 가지 방법으로 여기에 인수를 제공할 수 있습니다. 예를 들어 Rectangle 개체를 만든 다음 Rectangle 개체를 DrawRectangle 메서드에 인수로 전달할 수 있습니다.

        Dim myRectangle As New Rectangle(100, 50, 80, 40)
        myGraphics.DrawRectangle(myPen, myRectangle)

Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);

Rectangle 개체에는 사각형의 정보를 조작하고 수집할 수 있는 메서드와 속성이 있습니다. 예를 들어 InflateOffset 메서드는 사각형의 크기와 위치를 변경합니다. IntersectsWith 메서드는 사각형이 다른 사각형과 교차하는지 여부를 나타내고 Contains 메서드는 지정된 점이 사각형 내부에 있는지 여부를 나타냅니다.

참고 항목

작업

방법: 펜 만들기

방법: Windows Form에 선 그리기

방법: 윤곽선이 있는 도형 그리기

참조

System.Drawing.Graphics

System.Drawing.Pen

System.Drawing.Rectangle