타일을 나란히 배치하여 바닥을 덮을 수 있는 것처럼 사각형 이미지를 나란히 배치하여 셰이프를 채울 수 있습니다(타일). 셰이프의 내부에 타일을 지정하려면 텍스처 브러시를 사용합니다. TextureBrush 개체를 생성할 때 생성자에 전달하는 인수 중 하나는 Image 개체입니다. 텍스처 브러시를 사용하여 셰이프의 내부를 그리는 경우 도형은 이 이미지의 반복되는 복사본으로 채워집니다.
TextureBrush 개체의 래핑 모드 속성에 따라 직사각형 눈금에서 반복될 때 이미지의 방향이 지정되는 방식이 결정됩니다. 그리드의 모든 타일을 동일한 방향으로 만들거나 한 그리드 위치에서 다음 그리드 위치로 이미지를 대칭 이동하도록 만들 수 있습니다. 뒤집기는 가로, 세로 또는 둘 다일 수 있습니다. 다음 예제에서는 다양한 유형의 뒤집기를 사용한 타일링을 보여줍니다.
이미지를 바둑판식으로 배열하려면
- 이 예제에서는 다음 75×75 이미지를 사용하여 200×200 사각형을 바둑판식으로 배열합니다.
빨간색 집과 나무를 보여주는 타일 이미지.
- 다음 그림은 이미지로 사각형을 타일링하는 방법을 보여 줍니다. 모든 타일의 방향은 동일하며, 뒤집지 않습니다.
모든 타일에 동일한 방향을 사용하여 이미지와 함께 바둑판식으로 배열된 사각형.
Image image = new Bitmap("HouseAndTree.gif");
TextureBrush tBrush = new TextureBrush(image);
Pen blackPen = new Pen(Color.Black);
e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200));
e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));
Dim image As New Bitmap("HouseAndTree.gif")
Dim tBrush As New TextureBrush(image)
Dim blackPen As New Pen(Color.Black)
e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200))
e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))
바둑판식으로 배열하는 중 가로로 이미지를 대칭 이동하려면
- 이 예제에서는 동일한 75×75 이미지를 사용하여 200×200 사각형을 채웁니다. 래핑 모드는 이미지를 가로로 대칭 이동하도록 설정됩니다. 다음 그림은 이미지로 사각형을 타일링하는 방법을 보여 줍니다. 한 타일에서 지정된 행의 다음 타일로 이동하면 이미지가 가로로 대칭 이동합니다.
가로로 대칭 이동된 이미지와 함께 바둑판식으로 배열된 사각형.
Image image = new Bitmap("HouseAndTree.gif");
TextureBrush tBrush = new TextureBrush(image);
Pen blackPen = new Pen(Color.Black);
tBrush.WrapMode = WrapMode.TileFlipX;
e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200));
e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));
Dim image As New Bitmap("HouseAndTree.gif")
Dim tBrush As New TextureBrush(image)
Dim blackPen As New Pen(Color.Black)
tBrush.WrapMode = WrapMode.TileFlipX
e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200))
e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))
바둑판식으로 배열하는 중 이미지를 세로로 대칭 이동하려면
이 예제에서는 동일한 75×75 이미지를 사용하여 200×200 사각형을 채웁니다. 래핑 모드는 이미지를 세로로 대칭 이동하도록 설정됩니다.
Image image = new Bitmap("HouseAndTree.gif"); TextureBrush tBrush = new TextureBrush(image); Pen blackPen = new Pen(Color.Black); tBrush.WrapMode = WrapMode.TileFlipY; e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200)); e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));
Dim image As New Bitmap("HouseAndTree.gif") Dim tBrush As New TextureBrush(image) Dim blackPen As New Pen(Color.Black) tBrush.WrapMode = WrapMode.TileFlipY e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200)) e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))
바둑판식으로 배열하는 중 가로 및 세로로 이미지를 대칭 이동하려면
- 이 예는 동일한 75×75 이미지를 사용하여 200×200 사각형을 바둑판식으로 배열합니다. 래핑 모드는 이미지를 가로 및 세로로 대칭 이동하도록 설정됩니다. 다음 그림은 이미지로 사각형이 타일링되는 방식을 보여 줍니다. 한 타일에서 지정된 행의 다음 타일로 이동하면 이미지가 가로로 대칭 이동되고 지정된 열에서 한 타일에서 다음 타일로 이동하면 이미지가 세로로 대칭 이동합니다.
가로 및 세로로 대칭 이동된 이미지와 함께 바둑판식으로 배열된 사각형.
Image image = new Bitmap("HouseAndTree.gif");
TextureBrush tBrush = new TextureBrush(image);
Pen blackPen = new Pen(Color.Black);
tBrush.WrapMode = WrapMode.TileFlipXY;
e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200));
e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));
Dim image As New Bitmap("HouseAndTree.gif")
Dim tBrush As New TextureBrush(image)
Dim blackPen As New Pen(Color.Black)
tBrush.WrapMode = WrapMode.TileFlipXY
e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200))
e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))
참고하십시오
- 브러시를 사용하여 도형 채우기
.NET Desktop feedback