Практическое руководство. Рисование линии с текстурным заполнением

Вместо того, чтобы рисовать линию определенным цветом, ее всегда можно нарисовать с текстурой. Чтобы нарисовать линии и кривые с помощью текстуры, создайте объект TextureBrush и передайте этот объект TextureBrush конструктору Pen. Растровое изображение, связанное с кистью текстуры, используется для заполнения плоскости невидимо. Затем, во время рисования пером линии или кривой, росчерк пера обнаруживает определенные пиксели текстуры заполнения.

Пример

В следующем примере создается объект Bitmap из файла Texture1.jpg. Этот растровый рисунок используется для создания объекта TextureBrush, а объект TextureBrush используется для создания объекта Pen. Вызов DrawImage используется для рисования растрового изображения с левым верхним углом в точке (0, 0). Вызов DrawEllipse использует объект Pen для рисования текстурированного эллипса.

На следующем рисунке показаны растровый рисунок и текстурированный эллипс:

Screenshot that shows the bitmap and the textured ellipse.

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);
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)

Компиляция кода

Создайте форму Windows и обработайте ее событие Paint. Вставьте в обработчик события Paint представленный выше код. Замените Texture.jpg изображением, допустимым в системе.

См. также