Поделиться через


Практическое руководство. Рисование отдельного сплайна Безье

Обновлен: Ноябрь 2007

Сплайн Безье задается четырьмя точками: начальной, двумя контрольными и конечной.

Пример

В приведенном ниже примере демонстрируется рисование сплайна Безье из начальной точки с координатами (10, 100) в конечную точку с координатами (200, 200), если контрольные точки имеют координаты (100, 10) и (150, 150).

На следующем рисунке показаны получившийся сплайн Безье, а также его начальная точка, конечная точка и контрольные точки. Также показана выпуклая оболочка сплайна, которая представляет собой многоугольник, получаемый при соединении четырех указанных точек отрезками прямых.

Сплайн Безье

Dim p1 As New Point(10, 100) ' Start point
Dim c1 As New Point(100, 10) ' First control point
Dim c2 As New Point(150, 150) ' Second control point
Dim p2 As New Point(200, 100) ' Endpoint

Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawBezier(pen, p1, c1, c2, p2)

Point p1 = new Point(10, 100);   // Start point
Point c1 = new Point(100, 10);   // First control point
Point c2 = new Point(150, 150);  // Second control point
Point p2 = new Point(200, 100);  // Endpoint

Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawBezier(pen, p1, c1, c2, p2);

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

Предыдущий пример предназначен для работы с Windows Forms, для него необходим объект PaintEventArgs e, передаваемый в качестве параметра обработчику события Paint.

См. также

Задачи

Практическое руководство. Рисование последовательности сплайнов Безье

Основные понятия

Сплайны Безье в GDI+

Ссылки

DrawBezier