Практическое руководство. Мозаичное заполнение фигуры заданным изображением
Так же, как плиток можно поместить рядом друг с другом пола, прямоугольные изображения можно поместить рядом друг с другом заполнить фигуру. Для мозаичного внутренней части фигуры, используйте кисть текстуры. При построении TextureBrush объекта, один из аргументов, передать конструктору Image объекта. При использовании текстуры кисть для закрашивания внутренней части фигуры, фигура заполняется повторяющиеся копии этого образа.
Свойство mode wrap TextureBrush определяет способ ориентации изображения при его повторяется в пределах прямоугольной сетки. Можно выполнить всего плитки отображаются в сетке же ориентацию или внесения зеркальное отображение изображения от позиции одной сетки к другому. Зеркальное отображение может быть горизонтальным, vertical или both. В следующих примерах демонстрируется мозаики с использованием различных типов зеркального отображения.
Мозаичное заполнение изображением
- В этом примере используется на следующем рисунке 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));
Изображения по горизонтали мозаичное
- В этом примере используется одно изображение размером 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));
Изображения по вертикали мозаичное
В этом примере используется одно изображение размером 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));
Отражение изображения по горизонтали и вертикали мозаичное
- В этом примере используется одно изображение размером 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));