백엔드 개발 C#.Net 튜토리얼 C# GDI+ 간단한 그리기 (1)

C# GDI+ 간단한 그리기 (1)

Dec 17, 2016 am 09:37 AM

최근 GDI+에 많이 노출되었고, 태블릿 그리기, QQ 스크린샷 흉내내기 등 간단한 예제도 해봤습니다.

제가 이 수업을 처음 접하게 된 것은 QQ 스크린샷의 효과를 따라해보고 싶어서였습니다. 공교롭게도 스크린샷 만드는 법을 배운 후 .NET 수업을 하던 선생님이 우연히 C# 드로잉을 가르치시게 되었고, 저도 진 선생님의 연수 수업에서 온라인으로 공부할 때 이 수업을 이용했습니다. 제가 공부하면서 경험한 것들이 많아서 내용이 많아서 여러 번에 걸쳐 적을 수도 있겠네요.

더 이상 고민하지 말고 먼저 이 GDI+에 대해 알아보고 어떻게 생겼는지 살펴보겠습니다.

GDI+: Graphics Device Interface Plus는 다양한 풍부한 그래픽 및 이미지 처리 기능을 제공하는 그래픽 장치 인터페이스입니다. C#.NET에서 GDI+는 2차원(2D) 그래픽과 이미지를 처리하는 데 사용되고 DirectX는 3차원(3D) 그래픽과 이미지를 처리하는 데 사용됩니다. 그래픽과 이미지 처리에 사용되는 주요 네임스페이스는 System입니다. Drawing : 주로 Graphics 클래스, Bitmap 클래스, Brush 클래스에서 상속된 클래스, Font 클래스, Icon 클래스, Image 클래스, Pen 클래스, Color 클래스 등을 포함하여 GDI+의 기본 그래픽 기능에 대한 액세스를 제공합니다.

Get 일반적인 이해 GDI+가 무엇인지 이해한 후 그리기에 사용되는 주요 도구를 살펴보겠습니다. C#에서는 드로잉 보드를 사용하여 드로잉 보드를 만들 수 있습니다. 펜 같은 것이 있어야 하는데, 또 어떻게 그림을 그릴 수 있나요? 펜은 연필, 붓 등 여러 종류로 나눌 수 있습니다. 선을 그리는 데 사용할 수 있고, 브러시도 사용할 수 있습니다. ㅎㅎ 생각해 보세요. C#에서는 Pen 및 Brush 클래스를 사용하여 비슷한 기능을 구현할 수 있습니다. 페인트의 경우 Color 클래스가 자연스럽게 사용됩니다. (필수 네임스페이스: System .드로잉 사용;)

효과 달성: 빈 형식으로 기본 그래픽 그리기

먼저 드로잉 보드 준비:

있습니다. 드로잉 보드를 만드는 세 가지 주요 방법:

A: 폼이나 컨트롤의 Paint 이벤트에서 Graphics 개체를 직접 참조합니다.
B: 폼이나 특정 컨트롤의 CreateGraphics 메서드를 사용합니다.
C: 이미지에서 상속된 모든 객체에서 그래픽 객체를 생성합니다.
이번에는 먼저 문제를 설명하기 위해 A를 예로 들어보겠습니다.

그런 다음 그리기만 하면 됩니다.
 private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
        }
로그인 후 복사

그럼 그려보겠습니다.
private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
            Pen p = new Pen(Color.Blue, 2);//定义了一个蓝色,宽度为的画笔
        }
로그인 후 복사

private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
            Pen p = new Pen(Color.Blue, 2);//定义了一个蓝色,宽度为的画笔
            g.DrawLine(p, 10, 10, 100, 100);//在画板上画直线,起始坐标为(10,10),终点坐标为(100,100)
            g.DrawRectangle(p, 10, 10, 100, 100);//在画板上画矩形,起始坐标为(10,10),宽为,高为
            g.DrawEllipse(p, 10, 10, 100, 100);//在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为,高为
        }
로그인 후 복사
렌더링은 다음과 같습니다.



C# GDI+ 간단한 그리기 (1)




더 많은 c# GDI+ Simple Drawing(1) 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

차세대 C 컴파일러를 추가하는 방법 차세대 C 컴파일러를 추가하는 방법 Mar 03, 2025 pm 05:44 PM

차세대 C 컴파일러를 추가하는 방법

C 언어로 Null의 대안은 무엇입니까? C 언어로 Null의 대안은 무엇입니까? Mar 03, 2025 pm 05:37 PM

C 언어로 Null의 대안은 무엇입니까?

C 언어 컴파일러에 의해 코드를 복사하는 방법 C 언어 컴파일러에 의해 코드를 복사하는 방법 Mar 03, 2025 pm 05:43 PM

C 언어 컴파일러에 의해 코드를 복사하는 방법

어떤 C 언어 컴파일러가 더 낫습니까? 어떤 C 언어 컴파일러가 더 낫습니까? Mar 03, 2025 pm 05:39 PM

어떤 C 언어 컴파일러가 더 낫습니까?

C 언어 컴파일러의 웹 버전은 무엇입니까? C 언어 컴파일러의 웹 버전은 무엇입니까? Mar 03, 2025 pm 05:42 PM

C 언어 컴파일러의 웹 버전은 무엇입니까?

Null은 C 언어로 된 현대 프로그래밍에서 여전히 중요합니까? Null은 C 언어로 된 현대 프로그래밍에서 여전히 중요합니까? Mar 03, 2025 pm 05:35 PM

Null은 C 언어로 된 현대 프로그래밍에서 여전히 중요합니까?

C 언어 온라인 프로그래밍 웹 사이트 C 언어 컴파일러 공식 웹 사이트 요약 C 언어 온라인 프로그래밍 웹 사이트 C 언어 컴파일러 공식 웹 사이트 요약 Mar 03, 2025 pm 05:41 PM

C 언어 온라인 프로그래밍 웹 사이트 C 언어 컴파일러 공식 웹 사이트 요약

C 언어 컴파일러 설치 자습서 (컴퓨터 버전) C 언어 컴파일러 설치 자습서 (컴퓨터 버전) Mar 03, 2025 pm 05:41 PM

C 언어 컴파일러 설치 자습서 (컴퓨터 버전)

See all articles