GDI+의 브러시 및 채워진 도형
사각형이나 타원과 같은 닫힌 도형은 윤곽선과 내부로 구성됩니다. 윤곽선은 펜으로 그려지고 내부는 브러시로 채워집니다. GDI+는 SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush, PathGradientBrush와 같이 닫힌 도형의 내부를 채우기 위한 여러 브러시 클래스를 제공합니다. 이러한 모든 클래스는 Brush 클래스에서 상속됩니다. 다음 그림에서는 단색 브러시로 채워진 사각형과 해치 브러시로 채워진 타원을 보여 줍니다.
단색 브러시로 채워진 사각형과 해치 브러시로 채워진 타원 스크린샷.Aboutgdip02_art17
단색 브러시
닫힌 도형을 채우려면 Graphics 클래스의 인스턴스와 Brush가 필요합니다. Graphics 클래스의 인스턴스는 메서드(예: FillRectangle 및 FillEllipse)를 제공하고 Brush는 채우기의 특성(예: 색 및 패턴)을 저장합니다. Brush는 채우기 메서드에 인수 중 하나로 전달됩니다. 다음 코드 예제에서는 단색 빨간색으로 타원을 채우는 방법을 보여 줍니다.
SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40);
Dim mySolidBrush As New SolidBrush(Color.Red)
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40)
참고
앞의 예제에서 브러시는 Brush에서 상속되는 SolidBrush 형식입니다.
해치 브러시
도형을 해치 브러시로 채우면 전경색, 배경색, 해치 스타일을 지정합니다. 전경색은 해칭의 색입니다.
HatchBrush myHatchBrush =
new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);
Dim myHatchBrush As _
New HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green)
GDI+는 50가지 이상의 해치 스타일을 제공합니다. 다음 그림에 표시된 세 가지 스타일은 Horizontal, ForwardDiagonal, Cross입니다.
가로 해치 브러시, 전방 대각선 해치 브러시 및 교차 해치 브러시로 채워진 세 개 타원의 스크린샷.Aboutgdip02_art18
질감 브러시
질감 브러시를 사용하면 비트맵에 저장된 패턴으로 도형을 채울 수 있습니다. 예를 들어 다음 그림이 MyTexture.bmp
라는 디스크 파일에 저장되어 있다고 가정합니다.
My Texture dot b m p 파일의 스크린샷.Aboutgdip02_Art19
다음 코드 예제에서는 MyTexture.bmp
에 저장된 그림을 반복하여 타원을 채우는 방법을 보여 줍니다.
Image myImage = Image.FromFile("MyTexture.bmp");
TextureBrush myTextureBrush = new TextureBrush(myImage);
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50);
Dim myImage As Image = Image.FromFile("MyTexture.bmp")
Dim myTextureBrush As New TextureBrush(myImage)
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50)
다음 그림에서는 채워진 타원을 보여 줍니다.
텍스처 브러시로 채워진 타원의 스크린샷.AboutGdip02_Art20
그라데이션 브러시
GDI+는 선형 및 경로의 두 가지 그라데이션 브러시를 제공합니다. 선형 그라데이션 브러시를 사용하여 도형을 가로, 세로 또는 대각선으로 이동할 때 점차 변하는 색으로 도형을 채울 수 있습니다. 다음 코드 예제에서는 타원의 왼쪽 가장자리에서 오른쪽 가장자리로 이동할 때 파란색에서 녹색으로 변경되는 수평 그라데이션 브러시로 타원을 채우는 방법을 보여 줍니다.
LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(
myRectangle,
Color.Blue,
Color.Green,
LinearGradientMode.Horizontal);
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle);
Dim myLinearGradientBrush As New LinearGradientBrush( _
myRectangle, _
Color.Blue, _
Color.Green, _
LinearGradientMode.Horizontal)
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle)
다음 그림에서는 채워진 타원을 보여 줍니다.
가로 그라데이션 브러시로 채워진 타원의 스크린샷.AboutGdip02_Art21
도형 가운데에서 가장자리로 이동할 때 색을 변경하도록 경로 그라데이션 브러시를 구성할 수 있습니다.
패스 그라데이션 브러시로 채워진 타원의 스크린샷.AboutGdip02_Art22
경로 그라데이션 브러시는 매우 유연합니다. 다음 그림에서 삼각형을 채우는 데 사용되는 그라데이션 브러시는 가운데의 빨간색에서 꼭짓점의 세 가지 색 각각으로 점진적으로 변경됩니다.
패스 그라데이션 브러시로 채워진 삼각형의 스크린샷.AboutGdip02_Art23
참고 항목
.NET Desktop feedback