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)
DrawLine은 Graphics 클래스의 오버로드된 메서드로, 인수와 함께 이를 공급할 수 있는 몇 가지 방법이 있습니다. 예를 들어, 두 개의 Point 개체를 생성하고 Point 개체를 DrawLine 메서드에 인수로 전달할 수 있습니다.
Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);
Dim myStartPoint As New Point(4, 2)
Dim myEndPoint As New Point(12, 6)
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)
펜 생성
Pen 개체를 생성할 때 특정 특성을 지정할 수 있습니다. 예를 들어, 한 Pen
생성자를 통해 색과 너비를 지정할 수 있습니다. 다음 예제에서는 (0, 0)에서 (60, 30)까지 너비 2의 파란색 선을 그립니다.
Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);
Dim myPen As 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 개체의 속성을 사용하여 선의 특성을 더 많이 설정할 수 있습니다. StartCap 및 EndCap 속성은 선의 끝 모양을 지정하는데, 끝은 평면, 정사각형, 둥근형, 삼각형 또는 사용자 지정 모양일 수 있습니다. 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)
DrawRectangle은 Graphics 클래스의 오버로드된 메서드로, 인수와 함께 이를 공급할 수 있는 몇 가지 방법이 있습니다. 예를 들어, Rectangle 개체를 생성하고 Rectangle 개체를 DrawRectangle 메서드에 인수로 전달할 수 있습니다.
Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, myRectangle)
Rectangle 개체는 사각형에 대한 정보를 조작하고 수집하기 위한 메서드 및 속성을 가집니다. 예를 들어, Inflate 및 Offset 메서드는 사각형의 크기와 위치를 변경합니다. IntersectsWith 메서드는 사각형이 지정된 다른 사각형과 교차하는지 여부를 알려주며, Contains 메서드는 지정된 점이 사각형 내에 있는지 여부를 알려줍니다.
참고 항목
.NET Desktop feedback
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기