如何:绘制单个贝塞尔样条

用四个点定义一条贝塞尔样条:一个起点、两个控制点和一个终点。

示例

下面的示例绘制了一条起点为 (10, 100)、终点为 (200, 100) 的贝塞尔样条。 两个控制点分别为 (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 窗体而设计的,它需要 Paint 事件处理程序的参数 PaintEventArgs e。

请参见

任务

如何:绘制贝塞尔样条序列

参考

DrawBezier

概念

GDI+ 中的贝塞尔样条