Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.33
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.33

Прежде всего, создадим переменную типа GraphicsPath. Затем, используя метод Add (добавить) определим элементы патча. И, наконец, нарисуем путь. Следует учитывать, что при создании патча конечная точка одной фигуры автоматически соединяется прямой линией с началом другой фигуры. Незамкнутыми остаются первая и последняя фигуры. Чтобы их соединить, надо использовать код CloseFigure. Для создания нового патча достаточно замкнуть уже созданный патч или написать код StartFigure. В приведенном ниже примере создается патч на основе двух кривых Безье и одной прямой линии:

Dim path As New System.Drawing.Drawing2D.GraphicsPath Dim pen As Pen = New Pen(Color.Black, 3) "path.StartFigure()

path.AddBezier(100, 100, 160, 160, 220, 160, 280, 100) path.AddLine(110, 190, 270, 190)

path.AddBezierdOO, 280, 160, 220, 220, 220, 280, 280) "path.CloseFigure() e.Graphics.DrawPath(pen, path)

Следующий способ построения патча предполагает наличие массива точек и соответствующих им элементов типа PathPointType. Эти элементы перечислены в табл. 4.2.

Таблица 4.2 ж Элементы типа PathPointType

Элемент

Числовое значение

Описание

Bezier

Кривая Безье

ВегіегЗ

Кубическая кривая

CloseSubpath

Конечная точка

DashMode

Пунктирная линия

Line

Прямая линия

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программированияТрусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

Элемент

Числовое значение

Описание

PathMarker

Маркер патча

PathTypeMask

Маска

Start

Начальная точка

При составлении кодов сначала объявляется переменная, значением которой является массив точек, затем - переменная, определяющая элементы патча. Причем последовательность расположения элементов должна соответствовать координатам точек массива. В данном случае необходимо указать параметры пера. Затем, наконец, рисуется сам патч. В следующем примере путь создается на основе кривой Безье и двух прямых (рис. 4.3):

Dim point () As Point = {New Point"(10, 10),

New Point(50, 50), New Point(100, 50), New _

Point(150, 10), New Point(80, 100), NewPoint(10, 10)}

Dim a As New System.Drawing.Drawing2D.PathPointType

a = Drawing2D.PathPointType.Bezier.

Dim tip() As Byte = {a, a, a, a, 1, 1}

Dim path As New System.Drawing.Drawing2D.GraphicsPath _


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta