다음을 통해 공유


방법: 이미지에 도형을 바둑판식으로 배열

타일을 나란히 배치하여 바닥을 덮을 수 있는 것처럼 사각형 이미지를 나란히 배치하여 도형을 채울(바둑판식으로 배열) 수 있습니다. 도형의 내부를 바둑판식으로 배열하려면 질감 브러시를 사용합니다. 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))

참고 항목