C#에서 도형 그리기

원, 선, 직사각형 등을 포함하는 모양을 그려 다양한 그래픽 객체를 생성해야 하는 경우가 많습니다. 이러한 모양은 이미지 주석에도 사용할 수 있습니다. 이 기사에서는 C#에서 프로그래밍 방식으로 다양한 도형을 그리는 방법을 배웁니다. 선, 타원, 호 및 직사각형을 그리고 해당 이미지를 생성하는 방법을 시연합니다.

도형을 그리는 C# API - 무료 다운로드

다양한 유형의 모양을 그리기 위해 Aspose.Imaging for .NET을 사용합니다. 이미지를 조작하고 그림을 만들 수 있는 다양한 기능을 제공하는 놀라운 이미지 편집 API입니다. API를 다운로드하거나 NuGet에서 설치할 수 있습니다.

PM> Install-Package Aspose.Imaging

C#을 사용하여 선 그리기

다음은 C#에서 선을 그리는 단계입니다.

  • 먼저 BmpOptions 클래스의 객체를 생성하고 BitsPerPixel 속성을 사용하여 픽셀당 비트를 설정합니다.
  • 그런 다음 Source 속성을 사용하여 StreamSource를 할당합니다.
  • 새 이미지를 만들고 BmpOptions 개체와 이미지의 높이 및 너비로 초기화합니다.
  • Graphics 클래스의 오브젝트를 생성하고 Image 오브젝트로 초기화합니다.
  • Graphics.Clear() 메서드를 사용하여 약간의 색상으로 이미지 표면을 지웁니다.
  • Graphics.DrawLine(Pen, int, int, int, int) 메서드를 사용하여 선을 그립니다.
  • Image.Save() 메서드를 사용하여 이미지를 생성하고 저장합니다.

다음 코드 샘플은 C#에서 선을 그리는 방법을 보여줍니다.

// BmpOptions 만들기
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions 인스턴스의 소스 속성 정의
bmpCreateOptions.Source = new StreamSource();

// Image의 인스턴스를 만들고 다음을 전달하여 create 메서드를 호출합니다.
// bmpCreateOptions 개체
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics 클래스의 인스턴스 생성 및 초기화
Graphics graphic = new Graphics(image);

// 흰색으로 이미지 표면을 지우십시오.
graphic.Clear(Color.White);

// 파란색을 가지는 Pen 객체를 지정하여 점선을 그립니다.
// 좌표점
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 18, 200, 200);
graphic.DrawLine(new Pen(Color.Blue, 3), 18, 200, 200, 18);

// Solid를 갖는 Pen 객체를 지정하여 연속선을 그립니다.
// 붉은 색과 두 점 구조의 브러시
graphic.DrawLine(new Pen(new SolidBrush(Color.Red), 3),
        new Point(18, 18), new Point(18, 200));

// Solid를 갖는 Pen 객체를 지정하여 연속선을 그립니다.
// 흰색과 두 점 구조의 브러시
graphic.DrawLine(new Pen(new SolidBrush(Color.Orange), 3),
        new Point(200, 18), new Point(18, 18));

// 모든 변경 사항 저장
image.Save("draw_lines.bmp");

다음은 위 코드 샘플의 출력입니다.

C#에서 선 그리기

C#을 사용하여 타원 그리기

다음은 C#에서 타원을 그리는 단계입니다.

  • 먼저 BmpOptions 클래스의 객체를 생성하고 BitsPerPixel 속성을 사용하여 픽셀당 비트를 설정합니다.
  • 그런 다음 Source 속성을 사용하여 StreamSource를 할당합니다.
  • 새 이미지를 만들고 BmpOptions 개체와 이미지의 높이 및 너비로 초기화합니다.
  • Graphics 클래스의 오브젝트를 생성하고 Image 오브젝트로 초기화합니다.
  • Graphics.Clear() 메서드를 사용하여 약간의 색상으로 이미지 표면을 지웁니다.
  • Graphics.DrawEllipse(Pen, Rectangle) 메서드를 사용하여 타원을 그립니다.
  • Image.Save() 메서드를 사용하여 이미지를 생성하고 저장합니다.

다음 코드 샘플은 C#에서 이미지에 타원을 그리는 방법을 보여줍니다.

// BmpOptions 만들기
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions 인스턴스의 소스 속성 정의
bmpCreateOptions.Source = new StreamSource();

// Image의 인스턴스를 만들고 다음을 전달하여 create 메서드를 호출합니다.
// bmpCreateOptions 개체
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics 클래스의 인스턴스 생성 및 초기화
Graphics graphic = new Graphics(image);

// 흰색으로 이미지 표면을 지우십시오.
graphic.Clear(Color.White);

// 빨간색이 있는 Pen 객체를 지정하여 점선 타원 모양을 그립니다.
// 색상과 주변 Rectangle
graphic.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(60, 40, 70, 120));

// 다음을 갖는 Pen 객체를 지정하여 연속 타원 모양을 그립니다.
// solid brush with blue 색상과 주변 Rectangle
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// 모든 변경 사항 저장
image.Save("draw_ellipse.bmp");

다음은 위 코드 샘플의 출력입니다.

C#에서 타원 그리기

C#을 사용하여 호 그리기

다음은 C#에서 호를 그리는 단계입니다.

다음 코드 샘플은 C#에서 이미지에 호를 그리는 방법을 보여줍니다.

// BmpOptions 만들기
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions 인스턴스의 소스 속성 정의
bmpCreateOptions.Source = new StreamSource();

// Image의 인스턴스를 만들고 다음을 전달하여 create 메서드를 호출합니다.
// bmpCreateOptions 개체
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics 클래스의 인스턴스 생성 및 초기화
Graphics graphic = new Graphics(image);

// 흰색으로 이미지 표면을 지우십시오.
graphic.Clear(Color.White);

// 빨강 검정을 가지는 Pen 객체를 지정하여 점선 호 모양을 그립니다.
// 색상 및 좌표, 높이, 너비, 시작 및 끝 각도
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// 화면에 호 그리기
graphic.DrawArc(new Pen(Color.Black, 3), 0, 0, width, height, startAngle, sweepAngle);

// 모든 변경 사항 저장
image.Save("draw_arc.bmp");

다음은 위 코드 샘플의 출력입니다.

C#에서 호 그리기

C#을 사용하여 사각형 그리기

다음은 C#에서 사각형을 그리는 단계입니다.

  • 먼저 BmpOptions 클래스의 객체를 생성하고 BitsPerPixel 속성을 사용하여 픽셀당 비트를 설정합니다.
  • 그런 다음 Source 속성을 사용하여 StreamSource를 할당합니다.
  • 새 이미지를 만들고 BmpOptions 개체와 이미지의 높이 및 너비로 초기화합니다.
  • Graphics 클래스의 오브젝트를 생성하고 Image 오브젝트로 초기화합니다.
  • Graphics.Clear() 메서드를 사용하여 약간의 색상으로 이미지 표면을 지웁니다.
  • Graphics.DrawRectangle(Pen, Rectangle) 메서드를 사용하여 사각형을 그립니다.
  • Image.Save() 메서드를 사용하여 이미지를 생성하고 저장합니다.

다음 코드 샘플은 C#에서 이미지에 사각형을 그리는 방법을 보여줍니다.

// BmpOptions 만들기
BmpOptions bmpCreateOptions = new BmpOptions();
bmpCreateOptions.BitsPerPixel = 32;

// BmpOptions 인스턴스의 소스 속성 정의
bmpCreateOptions.Source = new StreamSource();

// Image의 인스턴스를 만들고 다음을 전달하여 create 메서드를 호출합니다.
// bmpCreateOptions 개체
Image image = Image.Create(bmpCreateOptions, 500, 500);

// Graphics 클래스의 인스턴스 생성 및 초기화
Graphics graphic = new Graphics(image);

// 흰색으로 이미지 표면을 지우십시오.
graphic.Clear(Color.White);

// 빨간색이 있는 Pen 객체를 지정하여 점선 사각형 모양을 그립니다.
// 색상과 사각형 구조
graphic.DrawRectangle(new Pen(Color.Red, 3),
        new Rectangle(60, 40, 70, 120));

// 다음을 갖는 Pen 개체를 지정하여 연속적인 사각형 모양을 그립니다.
// solid brush with blue 색상과 사각형 구조
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue), 3),
        new Rectangle(40, 60, 120, 70));

// 모든 변경 사항 저장
image.Save("draw_reactangle.bmp");

다음은 위 코드 샘플의 출력입니다.

C#에서 사각형 그리기

C# .NET 이미지 그리기 API - 무료 라이선스 받기

무료 임시 라이선스를 받고 평가 제한 없이 도형을 그릴 수 있습니다.

결론

이 기사에서는 C#에서 도형을 그리는 방법을 배웠습니다. 프로그래밍 방식으로 이미지에 선, 타원, 호 및 사각형을 그리는 방법을 다루었습니다. 제공된 코드 샘플을 C# 애플리케이션에 쉽게 통합할 수 있습니다.

더 읽어보기

문서를 사용하여 .NET 이미지 처리 API에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문을 공유할 수 있습니다.

또한보십시오