안녕하세요. 개발자 명월입니다.
이번 포스팅에서는 Graphics 에 대해서 알아보도록하겠습니다.
Graphics 란 무엇인가 하면 해당 윈도우에 그림을 그리기 위한 디스플레이 장치(?) 입니다. C언어에서는 DC(Device Context) 라고 불리던 녀석입니다. 사용방법은 해당 핸들의 CreateGraphics메소드로 가져와 사용하면 됩니다.
먼저 MSDN 을 살펴 보도록 하겠습니다.
MSDN바로가기 - Graphics 클래스
MSDN 을 자세하 살펴보면 Draw 로 시작되는 접두어가 있고 Fill 로 시작하는 접두어로 시작하는 것으로 나뉘는데 Draw는 말그대로 그리는 것이고 Fill은 도형의 내부를 색칠하는 차이라고 볼 수 있겠습니다.
그럼 설명 보다는 예제로 살펴보도록 하겠습니다.
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
namespace blog20121017
{
class Program : Form
{
static void Main(string[] args)
{
new Program().Show();
Application.Run();
}
private Graphics g;
public Program()
{
this.FormClosed += new FormClosedEventHandler(Program_FormClosed);
this.Paint += new PaintEventHandler(Program_Paint);
}
public void Program_Paint(object sender, PaintEventArgs e)
{
g = this.CreateGraphics();
Font _font = new System.Drawing.Font(new FontFamily("돋움"), 10, FontStyle.Bold);
g.DrawString("test", _font, Brushes.Black, new PointF(0, 0));
g.DrawRectangle(new Pen(Brushes.Black), new Rectangle(15, 15, 100, 100));
g.FillRectangle(Brushes.White, new Rectangle(125, 15, 100, 100));
}
public void Program_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
}
}
결과 화면 입니다.
DC를 자유자제로 사용하게 되면 윈도우 상에 자유자재로 그림도 그리고 게임도 만들 수 있습니다.
그러기 위해서는 DC 연습을 정말 많이 해보아야 합니다.
좌표계에 대한 인지도 확실히 하고 메시지를 타면서 그래픽이 깨지는 현상은 없는지 확인해야 할 사항이 많이 있습니다.
관련 설명을 링크 해 놓도록 하겠습니다.
관련 링크 - [C#] GDI Buffer
제 개발자 노트를 보면 퍼즐게임등 DC를 이용한 프로그램을 소개 해 놓았으니 살펴 보시면 도움이 됩니다.
'Study > C#' 카테고리의 다른 글
[C# 강좌 - 69] MVC Framework에서 Controller에서 View 설정하기 (0) | 2019.07.02 |
---|---|
[C# 강좌 - 68] MVC Framework filter 설정하기 (0) | 2019.07.02 |
[C# 강좌 - 67] MVC Framework 프로젝트 생성하기 (0) | 2019.07.01 |
[C# 강좌 - 55] 키워드 async, await (0) | 2019.05.20 |
[C# 강좌 - 42] WIndow Form - 4 구조체 , 모달과 모달리스 (0) | 2012.10.16 |
[C# 강좌 - 40] WIndow Form - 2 SDI, MDI (0) | 2012.10.14 |
[C# 강좌 - 38] ADO 데이터 베이스 - 3 (0) | 2012.10.12 |
[C# 강좌 - 35] 소켓 통신 - 4 (6) | 2012.10.09 |