블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday



ㅁ GDI+ 브러시 다루기

 - 채워진 모양, 이미지 또는 텍스트 같은 그래픽의 영역을 채우는데 사용.

※ 브러시(Brush)의 종류

 클래스

 설명

 SolidBrush  가장 간단한 형식의 브러시로 단색으로 그림
 HatchBrush  SolidBrush와 비슷하지만 단색 대신 미리 설정된 다양한 패턴 중에서 선택하여 그릴 수있음
 TextureBrush  이미지와 같은 질감을 사용하여 그림
 LinearGradienBrush  그라데이션에 따라 혼합된 두 가지 색으로 그림
 PathGradienBrush  개발자가 정의한 고유한 경로에 따라 혼합된 색의 복합 그라데이션을 사용하여 그림

 ▶ SolidBrush

   ☞ SolidBrush는 단색의 기본적인 브러시로 특정 색깔을 이용해서 선 사이의 공간이 이미지 혹은 다양한 형태의 도형의 내부를 채울 때 사용한다.

///////// 예제 코드//////////////////////////////////////////////////////////////////////

Graphics graphics = this.CreateGraphics();

//this.CreateGraphics(): 해당컨트롤에대한Graphics를만든다.

SolidBrush sbrush = new SolidBrush(Color.Red);

graphics.FillRectangle(sbrush, 0, 0, 100, 100);

 

/*오버로드3번째인자값내용들

첫번째: 채우기의특징을결정하는브러시입니다

두번째: 채울사각형을나타내는Rectangle구조체입니다

세번째: 채울사각형의왼쪽위모퉁이에대한Y좌표입니다

네번째: 채울사각형의너비입니다

다섯번째: 채울사격형의높이입니다.*/

/////////////////////////////////////////////////////////////////////////////////////////

 ▶ HatchBrush

   ☞ System.Drawing.Drawing2D 네임스페이스 내에 포함되어 있는 HatchBrush는 HatchStyle 열거형에 있는 값 중 하나로 표현된 다양한 형태를 이용하여 특정 부분을 채울 때 사용한다.

 ※ 대표적인 Hatch 무늬값

 열거형 값

 설명 

 BackwardDiagonal 오른쪽 위에서 왼쪽 아래로 사선이 그어진 형태의 브러시
 Cross  수직선과 수평선의 겹친 바둑판 형태의 선이 그어진 브러시
 ForwardDiagonal   왼쪽 위에서 오른쪽 아래로 사선이 그어진 형태의 브러시
 Horizontal  수평선이 그어진 브러시
 Vertical  수직선이 그어진 브러시

///////// 예제 코드/////////////////////////////////////////////////////////////////////

using System.Drawing.Drawing2D;

Graphics graphics = this.CreateGraphics();

HatchBrush hbrush = new HatchBrush(HatchStyle.Cross, Color.Red, Color.Blue);

/* HatchBrush의 특징 중에 하나는 위와 같이 두개의 색을 쌍으로 사용하는 것이다.(앞의 것은 전경색,뒤에 것은 배경색으로 사용)

graphics.FillRectangle(hbrush, 0, 0, 100, 100);

/////////////////////////////////////////////////////////////////////////////////////////

 ▶ TextureBrush

   ☞ TextureBrush는 패턴으로 이미지를 사용한다. 비트맥 이미지에 브러시를 사용하여 채우기 (Fill) 작업을 할때 사용하는 것이다.

///////// 예제 코드/////////////////////////////////////////////////////////////////////

TextureBrush BGTextureBrush = new TextureBrush("bgimage.bmp");

TextureBrush TXTTextureBrush = new TextureBrush("txtimage.bmp");

Graphics g = this.CreateGraphics();

Rectangle r = new Rectangle(10, 10, 150, 150);

Font font = new Font("Arial", 60, FontStyle.Bold | FontStyle.Italic);

 

g.FillRectangle(BGTextureBrush, r);

g.DrawString("Hello world~", font, TXTTextureBrush, r);

/////////////////////////////////////////////////////////////////////////////////////////

 ▶ LinearGradientBrush

   ☞ 그라데이션 효과를 나타내기 위해 두가지 색을 부드럽게 혼합하여 모양을 채울때 LinearGradienBrush를 사용한다.

※ LinearGradientBrush 열거형

 열거형 값

 설명

 BackwardDiagonal   오른쪽 위에서 왼쪽 아래로 그라데이션 효과를 준다.
 ForwardDiagonal  왼쪽 위에서 오른쪽 아래로 그라데이션 효과를 준다.
 Horizontal  수평으로 그라데이션 효과를 준다.
 Vertical  수직으로 그라데이션 효과를 준다.


///////// 예제 코드/////////////////////////////////////////////////////////////////////

using System.Drawing.Drawing2D;

Graphics graphics = this.CreateGraphics();

LinearGradientBrush lgbrush = new LinearGradientBrush(ClientRectangle, Color.Red, Color.Yellow, LinearGradientMode.Vertical);

graphics.FillRectangle(lgbrush, 10, 10, 200, 200);

/////////////////////////////////////////////////////////////////////////////////////////

★ 그라데이션 ★--------------------------------------------------- 그라데이션이란 그래픽의 기법으로 한 색상에서 다른 색상으로 또는 어두운 데
에서 밝은 값으로, 거친 질감에서 매끈한 질감으로 등과 같이 점진적으로 변화하
는 것을 말한다.
-----------------------------------------------------------------

- 참고 서적 : C# 게임 프로그래밍 -

Posted by happydong
, |