GDI+의 브러시 및 채워진 도형
업데이트: 2007년 11월
사각형 또는 타원과 같은 폐도형은 윤곽선과 내부로 이루어져 있습니다. 펜을 사용하여 윤곽선을 그리고 브러시를 사용하여 내부를 채웁니다. GDI+에서는 폐도형의 내부를 채울 수 있도록 SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush 및 PathGradientBrush와 같은 여러 가지 브러시 클래스를 제공합니다. 이러한 클래스는 모두 Brush 클래스에서 상속됩니다. 다음 그림은 단색 브러시로 채운 사각형과 빗살 무늬 브러시로 채운 타원을 보여 줍니다.
단색 브러시
폐도형을 채우려면 Graphics 클래스 인스턴스와 Brush가 필요합니다. Graphics 클래스 인스턴스는 FillRectangle과 FillEllipse 같은 메서드를 제공하고 Brush에는 색과 패턴 같은 채우기 특성이 저장됩니다. Brush는 채우기 메서드에 대한 인수 중 하나로 전달됩니다. 다음 코드 예제에서는 빨간색으로 타원을 채우는 방법을 보여 줍니다.
Dim mySolidBrush As New SolidBrush(Color.Red)
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40)
SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40);
참고: |
---|
위의 예제에서 브러시 유형은 Brush에서 상속된 SolidBrush입니다. |
빗살 무늬 브러시
도형을 빗살 무늬 브러시로 채울 때 전경색, 배경색 및 사선 스타일을 지정합니다. 전경색은 사선 색입니다.
Dim myHatchBrush As _
New HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green)
HatchBrush myHatchBrush =
new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);
GDI+에는 50개가 넘는 사선 스타일이 있으며 이 중에서 다음 그림에 표시된 스타일은 Horizontal, ForwardDiagonal 및 Cross입니다.
질감 브러시
질감 브러시를 사용하여 도형을 비트맵에 저장된 패턴으로 채울 수 있습니다. 예를 들어 MyTexture.bmp라는 디스크 파일에 다음 그림을 저장한다고 가정합니다.
다음 코드 예제에서는 MyTexture.bmp에 저장된 그림을 반복하여 타원을 채우는 방법을 보여 줍니다.
Dim myImage As Image = Image.FromFile("MyTexture.bmp")
Dim myTextureBrush As New TextureBrush(myImage)
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50)
Image myImage = Image.FromFile("MyTexture.bmp");
TextureBrush myTextureBrush = new TextureBrush(myImage);
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50);
아래 그림에 채워진 타원이 나와 있습니다.
그라데이션 브러시
GDI+에서는 선형과 경로라는 두 가지 유형의 그라데이션 브러시를 제공합니다. 선형 그라데이션 브러시를 사용하면 가로, 세로 또는 사선 방향에 따라 점차 변하는 색으로 도형을 채울 수 있습니다. 다음 코드 예제에서는 타원의 왼쪽 가장자리에서 오른쪽 가장자리로 이동함에 따라 파란색에서 녹색으로 변하는 가로 그라데이션 브러시로 타원을 채우는 방법을 보여 줍니다.
Dim myLinearGradientBrush As New LinearGradientBrush( _
myRectangle, _
Color.Blue, _
Color.Green, _
LinearGradientMode.Horizontal)
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle)
LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(
myRectangle,
Color.Blue,
Color.Green,
LinearGradientMode.Horizontal);
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle);
아래 그림에 채워진 타원이 나와 있습니다.
경로 그라데이션 브러시를 도형의 중앙에서 가장자리로 움직임에 따라 색이 변하도록 구성할 수 있습니다.
경로 그라데이션 브러시는 매우 유연합니다. 다음 그림에서 삼각형을 채우는 데 사용된 그라데이션 브러시는 중앙의 빨강에서 서로 다른 색의 세 꼭지점으로 갈수록 서서히 색이 변합니다.
참고 항목
작업
참조
System.Drawing.Drawing2D.HatchBrush
System.Drawing.Drawing2D.LinearGradientBrush