Graphics.DrawBeziers Graphics.DrawBeziers Graphics.DrawBeziers Method

Определение

Рисует последовательность кривых Безье из массива структур Point.Draws a series of Bézier splines from an array of Point structures.

Перегрузки

DrawBeziers(Pen, PointF[]) DrawBeziers(Pen, PointF[]) DrawBeziers(Pen, PointF[])

Рисует последовательность кривых Безье из массива структур PointF.Draws a series of Bézier splines from an array of PointF structures.

DrawBeziers(Pen, Point[]) DrawBeziers(Pen, Point[]) DrawBeziers(Pen, Point[])

Рисует последовательность кривых Безье из массива структур Point.Draws a series of Bézier splines from an array of Point structures.

DrawBeziers(Pen, PointF[]) DrawBeziers(Pen, PointF[]) DrawBeziers(Pen, PointF[])

Рисует последовательность кривых Безье из массива структур PointF.Draws a series of Bézier splines from an array of PointF structures.

public:
 void DrawBeziers(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points);
public void DrawBeziers (System.Drawing.Pen pen, System.Drawing.PointF[] points);
member this.DrawBeziers : System.Drawing.Pen * System.Drawing.PointF[] -> unit

Параметры

pen
Pen Pen Pen

Структура Pen, определяющая цвет, ширину и стиль кривой.Pen that determines the color, width, and style of the curve.

points
PointF[]

Массив структур PointF, которые представляют собой точки, определяющие кривую.Array of PointF structures that represent the points that determine the curve. Количество точек в массиве должно быть кратно трем плюс единица, например 4, 7 или 10.The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10.

Исключения

Свойство pen имеет значение null.pen is null.

- или --or- pointsnull.points is null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e, что Paint является параметром обработчика событий.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Код выполняет следующие действия.The code performs the following actions:

  • Создает черное перо.Creates a black pen.

  • Создает начальную, конечную и две контрольные точки для первой кривой и конечной точки, а также две контрольные точки для второй кривой.Creates the start, end, and two control points for a first curve and endpoint and two control points for a second curve.

  • Рисует последовательные кривые Безье на экране.Draws the successive Bézier curves to the screen.

private:
   void DrawBeziersPointF( 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 end1 = PointF(500.0F,100.0F);
      PointF control3 = PointF(600.0F,150.0F);
      PointF control4 = PointF(650.0F,250.0F);
      PointF end2 = PointF(500.0F,300.0F);
      array<PointF>^ bezierPoints = {start,control1,control2,end1,control3,control4,end2};

      // Draw arc to screen.
      e->Graphics->DrawBeziers( blackPen, bezierPoints );
   }
private void DrawBeziersPointF(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 end1 = new PointF(500.0F, 100.0F);
    PointF control3 = new PointF(600.0F, 150.0F);
    PointF control4 = new PointF(650.0F, 250.0F);
    PointF end2 = new PointF(500.0F, 300.0F);
    PointF[] bezierPoints = { start, control1, control2, end1,
         control3, control4, end2 };      
                 
    // Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints);
}
Private Sub DrawBeziersPointF(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 end1 As New PointF(500.0F, 100.0F)
    Dim control3 As New PointF(600.0F, 150.0F)
    Dim control4 As New PointF(650.0F, 250.0F)
    Dim end2 As New PointF(500.0F, 300.0F)
    Dim bezierPoints As PointF() = {start, control1, control2, _
    end1, control3, control4, end2}

    ' Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints)
End Sub

Комментарии

Число точек в массиве должно быть кратно 3 плюс 1, поскольку для первого сплайна требуется 4 точки, а для всех остальных сплайнов требуется по три точки.The number of points in the array should be a multiple of 3 plus 1 because the first spline requires 4 points and any other splines require 3 points each. Первая кривая Безье строится с первой точки до четвертой точки в массиве точек.The first Bézier curve is drawn from the first point to the fourth point in the point array. Вторая и третья точки представляют собой контрольные точки, определяющие форму кривой.The second and third points are control points that determine the shape of the curve. Каждой последующей кривой требуется ровно три точки: две дополнительные контрольные точки и конечная точка.Each subsequent curve needs exactly three more points: two more control points and an ending point. Конечная точка предыдущей кривой используется в качестве начальной точки для каждой дополнительной кривой.The ending point of the previous curve is used as the starting point for each additional curve.

DrawBeziers(Pen, Point[]) DrawBeziers(Pen, Point[]) DrawBeziers(Pen, Point[])

Рисует последовательность кривых Безье из массива структур Point.Draws a series of Bézier splines from an array of Point structures.

public:
 void DrawBeziers(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points);
public void DrawBeziers (System.Drawing.Pen pen, System.Drawing.Point[] points);
member this.DrawBeziers : System.Drawing.Pen * System.Drawing.Point[] -> unit

Параметры

pen
Pen Pen Pen

Структура Pen, определяющая цвет, ширину и стиль кривой.Pen that determines the color, width, and style of the curve.

points
Point[]

Массив структур Point, которые представляют собой точки, определяющие кривую.Array of Point structures that represent the points that determine the curve. Количество точек в массиве должно быть кратно трем плюс единица, например 4, 7 или 10.The number of points in the array should be a multiple of 3 plus 1, such as 4, 7, or 10.

Исключения

Свойство pen имеет значение null.pen is null.

-или--or- Свойство points имеет значение null.points is null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e, что Paint является параметром обработчика событий.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Код выполняет следующие действия.The code performs the following actions:

  • Создает черное перо.Creates a black pen.

  • Создает начальную, конечную и две контрольные точки для первой кривой и конечной точки, а также две контрольные точки для второй кривой.Creates the start, end, and two control points for a first curve and endpoint and two control points for a second curve.

  • Рисует последовательные кривые Безье на экране.Draws the successive Bézier curves to the screen.

private:
   void DrawBeziersPoint( 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 end1 = Point(500,100);
      Point control3 = Point(600,150);
      Point control4 = Point(650,250);
      Point end2 = Point(500,300);
      array<Point>^ bezierPoints = {start,control1,control2,end1,control3,control4,end2};

      // Draw arc to screen.
      e->Graphics->DrawBeziers( blackPen, bezierPoints );
   }
private void DrawBeziersPoint(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 end1 = new Point(500, 100);
    Point control3 = new Point(600, 150);
    Point control4 = new Point(650, 250);
    Point end2 = new Point(500, 300);
    Point[] bezierPoints =
             {
                 start, control1, control2, end1,
                 control3, control4, end2
             };
             
    // Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints);
}
Private Sub DrawBeziersPoint(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 end1 As New Point(500, 100)
    Dim control3 As New Point(600, 150)
    Dim control4 As New Point(650, 250)
    Dim end2 As New Point(500, 300)
    Dim bezierPoints As Point() = {start, control1, control2, _
    end1, control3, control4, end2}

    ' Draw arc to screen.
    e.Graphics.DrawBeziers(blackPen, bezierPoints)
End Sub

Комментарии

Число точек в массиве должно быть кратно 3 плюс 1, поскольку для первого сплайна требуется 4 точки, а для всех остальных сплайнов требуется по три точки.The number of points in the array should be a multiple of 3 plus 1 because the first spline requires 4 points and any other splines require 3 points each. Первая кривая Безье строится от первой точки к четвертой точке в массиве точек.The first Bézier spline is drawn from the first point to the fourth point in the point array. Вторая и третья точки представляют собой контрольные точки, определяющие форму кривой.The second and third points are control points that determine the shape of the curve. Каждой последующей кривой требуется ровно три точки: две дополнительные контрольные точки и конечная точка.Each subsequent curve needs exactly three more points: two more control points and an ending point. Конечная точка предыдущей кривой используется в качестве начальной точки для каждой дополнительной кривой.The ending point of the previous curve is used as the starting point for each additional curve.

Применяется к