Graphics.DrawBezier 方法

定义

绘制由四个 Point 结构定义的贝塞尔样条。

重载

DrawBezier(Pen, Point, Point, Point, Point)

绘制由四个 Point 结构定义的贝塞尔样条。

DrawBezier(Pen, PointF, PointF, PointF, PointF)

绘制由四个 PointF 结构定义的贝塞尔样条。

DrawBezier(Pen, Single, Single, Single, Single, Single, Single, Single, Single)

绘制由表示点的四对有序坐标定义的 Bézier 样条。

DrawBezier(Pen, Point, Point, Point, Point)

Source:
Graphics.cs
Source:
Graphics.cs

绘制由四个 Point 结构定义的贝塞尔样条。

public:
 void DrawBezier(System::Drawing::Pen ^ pen, System::Drawing::Point pt1, System::Drawing::Point pt2, System::Drawing::Point pt3, System::Drawing::Point pt4);
public void DrawBezier (System.Drawing.Pen pen, System.Drawing.Point pt1, System.Drawing.Point pt2, System.Drawing.Point pt3, System.Drawing.Point pt4);
member this.DrawBezier : System.Drawing.Pen * System.Drawing.Point * System.Drawing.Point * System.Drawing.Point * System.Drawing.Point -> unit
Public Sub DrawBezier (pen As Pen, pt1 As Point, pt2 As Point, pt3 As Point, pt4 As Point)

参数

pen
Pen

Pen 结构,用于确定曲线的颜色、宽度和样式。

pt1
Point

Point 表示曲线起点的结构。

pt2
Point

Point 表示曲线的第一个控制点的结构。

pt3
Point

Point 表示曲线的第二个控制点的结构。

pt4
Point

Point 表示曲线终点的结构。

例外

pen null

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。 该代码执行以下操作:

  • 创建黑色笔。

  • 为曲线创建开始、结束和两个控制点。

  • 将贝塞尔曲线绘制到屏幕。

private:
   void DrawBezierPoint( PaintEventArgs^ e )
   {
      // Create pen.
      Pen^ blackPen = gcnew Pen( Color::Black,3.0f );

      // Create points for curve.
      Point start = Point(100,100);
      Point control1 = Point(200,10);
      Point control2 = Point(350,50);
      Point end = Point(500,100);

      // Draw arc to screen.
      e->Graphics->DrawBezier( blackPen, start, control1, control2, end );
   }
private void DrawBezierPoint(PaintEventArgs e)
{
    // Create pen.
    Pen blackPen = new Pen(Color.Black, 3);
             
    // Create points for curve.
    Point start = new Point(100, 100);
    Point control1 = new Point(200, 10);
    Point control2 = new Point(350, 50);
    Point end = new Point(500, 100);
             
    // Draw arc to screen.
    e.Graphics.DrawBezier(blackPen, start, control1, control2, end);
}
Private Sub DrawBezierPoint(ByVal e As PaintEventArgs)

    ' Create pen.
    Dim blackPen As New Pen(Color.Black, 3)

    ' Create points for curve.
    Dim start As New Point(100, 100)
    Dim control1 As New Point(200, 10)
    Dim control2 As New Point(350, 50)
    Dim [end] As New Point(500, 100)

    ' Draw arc to screen.
    e.Graphics.DrawBezier(blackPen, start, control1, control2, [end])
End Sub

注解

贝塞尔曲线从第一个点绘制到第四点。 第二和第三个点是确定曲线形状的控制点。

适用于

DrawBezier(Pen, PointF, PointF, PointF, PointF)

Source:
Graphics.cs
Source:
Graphics.cs

绘制由四个 PointF 结构定义的贝塞尔样条。

public:
 void DrawBezier(System::Drawing::Pen ^ pen, System::Drawing::PointF pt1, System::Drawing::PointF pt2, System::Drawing::PointF pt3, System::Drawing::PointF pt4);
public void DrawBezier (System.Drawing.Pen pen, System.Drawing.PointF pt1, System.Drawing.PointF pt2, System.Drawing.PointF pt3, System.Drawing.PointF pt4);
member this.DrawBezier : System.Drawing.Pen * System.Drawing.PointF * System.Drawing.PointF * System.Drawing.PointF * System.Drawing.PointF -> unit
Public Sub DrawBezier (pen As Pen, pt1 As PointF, pt2 As PointF, pt3 As PointF, pt4 As PointF)

参数

pen
Pen

确定曲线的颜色、宽度和样式的 Pen

pt1
PointF

PointF 表示曲线起点的结构。

pt2
PointF

PointF 表示曲线的第一个控制点的结构。

pt3
PointF

PointF 表示曲线的第二个控制点的结构。

pt4
PointF

PointF 表示曲线终点的结构。

例外

pen null

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。 该代码执行以下操作:

  • 创建黑色笔。

  • 为曲线创建开始、结束和两个控制点。

  • 将贝塞尔曲线绘制到屏幕。

private:
   void DrawBezierPointF( PaintEventArgs^ e )
   {
      // Create pen.
      Pen^ blackPen = gcnew Pen( Color::Black,3.0f );

      // Create points for curve.
      PointF start = PointF(100.0F,100.0F);
      PointF control1 = PointF(200.0F,10.0F);
      PointF control2 = PointF(350.0F,50.0F);
      PointF end = PointF(500.0F,100.0F);

      // Draw arc to screen.
      e->Graphics->DrawBezier( blackPen, start, control1, control2, end );
   }
private void DrawBezierPointF(PaintEventArgs e)
{
    // Create pen.
    Pen blackPen = new Pen(Color.Black, 3);
             
    // Create points for curve.
    PointF start = new PointF(100.0F, 100.0F);
    PointF control1 = new PointF(200.0F, 10.0F);
    PointF control2 = new PointF(350.0F, 50.0F);
    PointF end = new PointF(500.0F, 100.0F);
             
    // Draw arc to screen.
    e.Graphics.DrawBezier(blackPen, start, control1, control2, end);
}
Private Sub DrawBezierPointF(ByVal e As PaintEventArgs)

    ' Create pen.
    Dim blackPen As New Pen(Color.Black, 3)

    ' Create points for curve.
    Dim start As New PointF(100.0F, 100.0F)
    Dim control1 As New PointF(200.0F, 10.0F)
    Dim control2 As New PointF(350.0F, 50.0F)
    Dim [end] As New PointF(500.0F, 100.0F)

    ' Draw arc to screen.
    e.Graphics.DrawBezier(blackPen, start, control1, control2, [end])
End Sub

注解

贝塞尔样条从第一个点绘制到第四个点。 第二和第三个点是确定曲线形状的控制点。

适用于

DrawBezier(Pen, Single, Single, Single, Single, Single, Single, Single, Single)

Source:
Graphics.cs
Source:
Graphics.cs

绘制由表示点的四对有序坐标定义的 Bézier 样条。

public:
 void DrawBezier(System::Drawing::Pen ^ pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);
public void DrawBezier (System.Drawing.Pen pen, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);
member this.DrawBezier : System.Drawing.Pen * single * single * single * single * single * single * single * single -> unit
Public Sub DrawBezier (pen As Pen, x1 As Single, y1 As Single, x2 As Single, y2 As Single, x3 As Single, y3 As Single, x4 As Single, y4 As Single)

参数

pen
Pen

确定曲线的颜色、宽度和样式的 Pen

x1
Single

曲线起点的 x 坐标。

y1
Single

曲线起点的 y 坐标。

x2
Single

曲线的第一个控制点的 x 坐标。

y2
Single

曲线第一个控制点的 y 坐标。

x3
Single

曲线的第二个控制点的 x 坐标。

y3
Single

曲线的第二个控制点的 y 坐标。

x4
Single

曲线终点的 x 坐标。

y4
Single

曲线终点的 y 坐标。

例外

pen null

示例

下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse,这是 Paint 事件处理程序的参数。 该代码执行以下操作:

  • 创建黑色笔。

  • 为曲线创建开始、结束和两个控制点的坐标。

  • 将贝塞尔曲线绘制到屏幕。

private:
   void DrawBezierFloat( PaintEventArgs^ e )
   {
      // Create pen.
      Pen^ blackPen = gcnew Pen( Color::Black,3.0f );

      // Create coordinates of points for curve.
      float startX = 100.0F;
      float startY = 100.0F;
      float controlX1 = 200.0F;
      float controlY1 = 10.0F;
      float controlX2 = 350.0F;
      float controlY2 = 50.0F;
      float endX = 500.0F;
      float endY = 100.0F;

      // Draw arc to screen.
      e->Graphics->DrawBezier( blackPen, startX, startY, controlX1, controlY1, controlX2, controlY2, endX, endY );
   }
private void DrawBezierFloat(PaintEventArgs e)
{
    // Create pen.
    Pen blackPen = new Pen(Color.Black, 3);
             
    // Create coordinates of points for curve.
    float startX = 100.0F;
    float startY = 100.0F;
    float controlX1 = 200.0F;
    float controlY1 =  10.0F;
    float controlX2 = 350.0F;
    float controlY2 =  50.0F;
    float endX = 500.0F;
    float endY = 100.0F;
             
    // Draw arc to screen.
    e.Graphics.DrawBezier(blackPen, startX, startY,
        controlX1, controlY1,
        controlX2, controlY2,
        endX, endY);
}

' Begin Example03.
Private Sub DrawBezierFloat(ByVal e As PaintEventArgs)

    ' Create pen.
    Dim blackPen As New Pen(Color.Black, 3)

    ' Create coordinates of points for curve.
    Dim startX As Single = 100.0F
    Dim startY As Single = 100.0F
    Dim controlX1 As Single = 200.0F
    Dim controlY1 As Single = 10.0F
    Dim controlX2 As Single = 350.0F
    Dim controlY2 As Single = 50.0F
    Dim endX As Single = 500.0F
    Dim endY As Single = 100.0F

    ' Draw arc to screen.
    e.Graphics.DrawBezier(blackPen, startX, startY, controlX1, _
    controlY1, controlX2, controlY2, endX, endY)
End Sub

注解

贝塞尔样条从第一个点绘制到第四个点。 第二和第三个点是确定曲线形状的控制点。

适用于