방법: 이미지 질감으로 도형 채우기
Image 클래스와 TextureBrush 클래스를 사용하면 닫힌 도형을 질감으로 채울 수 있습니다.
예제
아래 예제에서는 타원에 이미지를 채웁니다. 이 코드에서는 Image 개체를 만들어 해당 Image 개체의 주소를 TextureBrush 생성자에 인수로 전달합니다. 세 번째 문에서는 이미지의 배율을 조정하고 네 번째 문에서는 배율 조정된 이미지의 복사본을 반복적으로 사용하여 타원을 채웁니다.
다음 코드에서 Transform 속성에는 이미지를 그리기 전에 이미지에 적용되는 변환이 지정되어 있습니다. 원래 이미지의 너비는 640 픽셀이고 높이는 480 픽셀이라고 가정합니다. 변환에서는 가로 및 세로 배율 조정 값을 설정하여 이미지 크기를 75×75로 줄입니다.
참고
다음 예제에서는 이미지 크기가 75×75이고 타원 크기는 150×250입니다. 채울 타원보다 이미지 크기가 작기 때문에 이미지가 타원에서 바둑판식으로 배열됩니다. 바둑판식으로 채울 때는 도형의 경계 부분에 이를 때까지 이미지가 가로 및 세로로 반복하여 배열됩니다. 바둑판식 배열에 대한 자세한 내용은 방법: 도형에 이미지를 바둑판식으로 배열을 참조하십시오.
Dim image As New Bitmap("ImageFile.jpg")
Dim tBrush As New TextureBrush(image)
tBrush.Transform = New Matrix( _
75.0F / 640.0F, _
0.0F, _
0.0F, _
75.0F / 480.0F, _
0.0F, _
0.0F)
e.Graphics.FillEllipse(tBrush, New Rectangle(0, 150, 150, 250))
Image image = new Bitmap("ImageFile.jpg");
TextureBrush tBrush = new TextureBrush(image);
tBrush.Transform = new Matrix(
75.0f / 640.0f,
0.0f,
0.0f,
75.0f / 480.0f,
0.0f,
0.0f);
e.Graphics.FillEllipse(tBrush, new Rectangle(0, 150, 150, 250));
코드 컴파일
앞의 예제는 Windows Forms에서 사용해야 하며 Paint 이벤트 처리기의 매개 변수인 PaintEventArgs e를 필요로 합니다.