Graphics.DrawBezier 方法

定义

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

重载

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

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

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

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

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

绘制由四个表示点的有序坐标对定义的贝塞尔样条。

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

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

绘制由 4 个 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 结构,它表示曲线的结束点。

例外

pennull

示例

下面的代码示例旨在与 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
Source:
Graphics.cs

绘制由 4 个 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 结构,它表示曲线的结束点。

例外

pennull

示例

下面的代码示例旨在与 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
Source:
Graphics.cs

绘制由四个表示点的有序坐标对定义的贝塞尔样条。

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 坐标。

例外

pennull

示例

下面的代码示例旨在与 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

注解

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

适用于