如何绘制单个贝塞尔曲线

Bézier 样条由四个点定义:起点、两个控制点和一个终结点。

示例:

以下示例绘制一个带起点 (10, 100) 和终结点 (200, 100) 的 Bézier 样条。 控制点为 (100, 10) 和 (150, 150)。

下图显示了生成的 Bézier 样条及其起点、控制点和终结点。 该图还展示了样条的凸包,这是通过将四个点用直线连接而形成的多边形。

贝塞尔样条的插图。

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

编译代码

前面的示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。

另请参阅