Практическое руководство. Рисование линии с текстурным заполнением
Обновлен: Ноябрь 2007
Вместо рисования линии сплошным цветом можно нарисовать линию с текстурной заливкой. Для рисования прямых и кривых линий с текстурной заливкой необходимо создать объект TextureBrush и передать этот объект TextureBrush конструктору Pen. Растровое изображение, связанное с текстурной кистью, заполняет плоскость рисования, оставаясь невидимым, и, когда перо рисует линию или кривую, соответствующие точки текстуры, расположенные под пером, становятся видимыми.
Пример
В следующем примере показано создание объекта Bitmap из файла Texture1.jpg. Это растровое изображение используется для создания объекта TextureBrush, а объект TextureBrush используется, в свою очередь, для создания объекта Pen. Вызов метода DrawImage формирует растровое изображение с верхним левым углом в точке (0, 0). Вызов DrawEllipse использует объект Pen, чтобы нарисовать текстурированный эллипс.
На следующем рисунке показаны растровое изображение и текстурированный эллипс.
Dim bitmap As New Bitmap("Texture1.jpg")
Dim tBrush As New TextureBrush(bitmap)
Dim texturedPen As New Pen(tBrush, 30)
e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height)
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100)
Bitmap bitmap = new Bitmap("Texture1.jpg");
TextureBrush tBrush = new TextureBrush(bitmap);
Pen texturedPen = new Pen(tBrush, 30);
e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height);
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100);
Компиляция кода
Создайте форму Windows Forms и перейдите к обработчику события Paint этой формы. Вставьте приведенный выше код в обработчик события Paint. Подставьте вместо Texture.jpg имя имеющегося на вашем компьютере файла изображения.