GraphicsPath.AddCurve Метод

Определение

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.A cardinal spline curve is used because the curve travels through each of the points in the array.

Перегрузки

AddCurve(PointF[], Int32, Int32, Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

AddCurve(Point[], Int32, Int32, Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

AddCurve(PointF[], Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

AddCurve(PointF[])

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.A cardinal spline curve is used because the curve travels through each of the points in the array.

AddCurve(Point[])

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.A cardinal spline curve is used because the curve travels through each of the points in the array.

AddCurve(Point[], Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

AddCurve(PointF[], Int32, Int32, Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

public:
 void AddCurve(cli::array <System::Drawing::PointF> ^ points, int offset, int numberOfSegments, float tension);
public void AddCurve (System.Drawing.PointF[] points, int offset, int numberOfSegments, float tension);
member this.AddCurve : System.Drawing.PointF[] * int * int * single -> unit
Public Sub AddCurve (points As PointF(), offset As Integer, numberOfSegments As Integer, tension As Single)

Параметры

points
PointF[]

Массив структур PointF, представляющий точки, которые определяют кривую.An array of PointF structures that represents the points that define the curve.

offset
Int32

Индекс элемента в массиве points, который используется в качестве первой точки кривой.The index of the element in the points array that is used as the first point in the curve.

numberOfSegments
Int32

Количество сегментов, используемых для отображения кривой.The number of segments used to draw the curve. Сегмент может быть определен как линия, соединяющая две точки.A segment can be thought of as a line connecting two points.

tension
Single

Значение, определяющее степень изгиба кривой между контрольными точками.A value that specifies the amount that the curve bends between control points. Значения, превышающие 1, приводят к непредсказуемым результатам.Values greater than 1 produce unpredictable results.

Примеры

Пример см. в разделе AddCurve(Point[], Int32, Int32, Single).For an example, see AddCurve(Point[], Int32, Int32, Single).

Комментарии

При необходимости пользователь должен удерживать исходные точки.The user must keep the original points if they are needed. Исходные точки преобразуются в контрольные точки Безье третьего порядка внутри, поэтому нет механизма для возврата исходных точек.The original points are converted to cubic Bézier control points internally, therefore there is no mechanism for returning the original points.

Кривая начинается с точки в массиве, заданной offset, и включает количество точек (сегментов), заданных numberOfSegments.The curve begins at the point in the array specified by offset, and includes the number of points (segments) specified by numberOfSegments.

AddCurve(Point[], Int32, Int32, Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

public:
 void AddCurve(cli::array <System::Drawing::Point> ^ points, int offset, int numberOfSegments, float tension);
public void AddCurve (System.Drawing.Point[] points, int offset, int numberOfSegments, float tension);
member this.AddCurve : System.Drawing.Point[] * int * int * single -> unit
Public Sub AddCurve (points As Point(), offset As Integer, numberOfSegments As Integer, tension As Single)

Параметры

points
Point[]

Массив структур Point, представляющий точки, которые определяют кривую.An array of Point structures that represents the points that define the curve.

offset
Int32

Индекс элемента в массиве points, который используется в качестве первой точки кривой.The index of the element in the points array that is used as the first point in the curve.

numberOfSegments
Int32

Значение, определяющее степень изгиба кривой между контрольными точками.A value that specifies the amount that the curve bends between control points. Значения, превышающие 1, приводят к непредсказуемым результатам.Values greater than 1 produce unpredictable results.

tension
Single

Значение, определяющее степень изгиба кривой между контрольными точками.A value that specifies the amount that the curve bends between control points. Значения, превышающие 1, приводят к непредсказуемым результатам.Values greater than 1 produce unpredictable results.

Примеры

Следующий пример кода предназначен для использования с Windows Forms, и для него требуется PaintEventArgse, объект события OnPaint.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Код выполняет следующие действия.The code performs the following actions:

  • Создает массив из четырех точек (представляющих фундаментальный сплайн).Creates an array of four points (representing a cardinal spline).

  • Создает путь и использует массив точек, добавляет кривую к контуру.Creates a path and using the array of points, adds the curve to the path.

  • Отображает контур на экране.Draws the path to the screen.

Обратите внимание, что хотя массив содержит четыре точки, существует только три сегмента, то есть число, указанное в третьем аргументе вызова AddCurve.Notice that while the array holds four points, there are only three segments, which is the number specified in the third argument of the call to AddCurve.

private:
   void AddCurveExample( PaintEventArgs^ e )
   {
      // Create some points.
      Point point1 = Point(20,20);
      Point point2 = Point(40,0);
      Point point3 = Point(60,40);
      Point point4 = Point(80,20);

      // Create an array of the points.
      array<Point>^ curvePoints = {point1,point2,point3,point4};

      // Create a GraphicsPath object and add a curve.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      myPath->AddCurve( curvePoints, 0, 3, 0.8f );

      // Draw the path to the screen.
      Pen^ myPen = gcnew Pen( Color::Black,2.0f );
      e->Graphics->DrawPath( myPen, myPath );
   }
private void AddCurveExample(PaintEventArgs e)
{
             
    // Create some points.
    Point point1 = new Point(20, 20);
    Point point2 = new Point(40, 0);
    Point point3 = new Point(60, 40);
    Point point4 = new Point(80, 20);
             
    // Create an array of the points.
    Point[] curvePoints = {point1, point2, point3, point4};
             
    // Create a GraphicsPath object and add a curve.
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddCurve(curvePoints, 0, 3, 0.8f);
             
    // Draw the path to the screen.
    Pen myPen = new Pen(Color.Black, 2);
    e.Graphics.DrawPath(myPen, myPath);
}
Public Sub AddCurveExample(ByVal e As PaintEventArgs)

    ' Create some points.
    Dim point1 As New Point(20, 20)
    Dim point2 As New Point(40, 0)
    Dim point3 As New Point(60, 40)
    Dim point4 As New Point(80, 20)

    ' Create an array of the points.
    Dim curvePoints As Point() = {point1, point2, point3, point4}

    ' Create a GraphicsPath object and add a curve.
    Dim myPath As New GraphicsPath
    myPath.AddCurve(curvePoints, 0, 3, 0.8F)

    ' Draw the path to the screen.
    Dim myPen As New Pen(Color.Black, 2)
    e.Graphics.DrawPath(myPen, myPath)
End Sub

Комментарии

При необходимости пользователь должен удерживать исходные точки.The user must keep the original points if they are needed. Исходные точки преобразуются в контрольные точки Безье третьего порядка внутри, поэтому нет механизма для возврата исходных точек.The original points are converted to cubic Bézier control points internally, therefore there is no mechanism for returning the original points.

Кривая начинается с точки в массиве, заданной параметром offset, и включает количество точек (сегментов), заданных numberOfSegments.The curve begins at the point in the array specified by the offset parameter and includes the number of points (segments) specified by numberOfSegments.

AddCurve(PointF[], Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

public:
 void AddCurve(cli::array <System::Drawing::PointF> ^ points, float tension);
public void AddCurve (System.Drawing.PointF[] points, float tension);
member this.AddCurve : System.Drawing.PointF[] * single -> unit
Public Sub AddCurve (points As PointF(), tension As Single)

Параметры

points
PointF[]

Массив структур PointF, представляющий точки, которые определяют кривую.An array of PointF structures that represents the points that define the curve.

tension
Single

Значение, определяющее степень изгиба кривой между контрольными точками.A value that specifies the amount that the curve bends between control points. Значения, превышающие 1, приводят к непредсказуемым результатам.Values greater than 1 produce unpredictable results.

Примеры

Пример см. в разделе AddCurve(Point[], Int32, Int32, Single).For an example, see AddCurve(Point[], Int32, Int32, Single).

Комментарии

При необходимости пользователь должен удерживать исходные точки.The user must keep the original points if they are needed. Исходные точки преобразуются в контрольные точки Безье третьего порядка внутри, поэтому нет механизма для возврата исходных точек.The original points are converted to cubic Bézier control points internally, therefore there is no mechanism for returning the original points.

AddCurve(PointF[])

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.A cardinal spline curve is used because the curve travels through each of the points in the array.

public:
 void AddCurve(cli::array <System::Drawing::PointF> ^ points);
public void AddCurve (System.Drawing.PointF[] points);
member this.AddCurve : System.Drawing.PointF[] -> unit
Public Sub AddCurve (points As PointF())

Параметры

points
PointF[]

Массив структур PointF, представляющий точки, которые определяют кривую.An array of PointF structures that represents the points that define the curve.

Примеры

Пример см. в разделе AddCurve(Point[], Int32, Int32, Single).For an example, see AddCurve(Point[], Int32, Int32, Single).

Комментарии

При необходимости пользователь должен удерживать исходные точки.The user must keep the original points if they are needed. Исходные точки преобразуются в контрольные точки Безье третьего порядка внутри, поэтому нет механизма для возврата исходных точек.The original points are converted to cubic Bézier control points internally, therefore there is no mechanism for returning the original points.

AddCurve(Point[])

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure. Используется кривая фундаментального сплайна, поскольку кривая проходит через все точки массива.A cardinal spline curve is used because the curve travels through each of the points in the array.

public:
 void AddCurve(cli::array <System::Drawing::Point> ^ points);
public void AddCurve (System.Drawing.Point[] points);
member this.AddCurve : System.Drawing.Point[] -> unit
Public Sub AddCurve (points As Point())

Параметры

points
Point[]

Массив структур Point, представляющий точки, которые определяют кривую.An array of Point structures that represents the points that define the curve.

Примеры

Пример см. в разделе AddClosedCurve(Point[], Single).For an example, see AddClosedCurve(Point[], Single).

Комментарии

При необходимости пользователь должен удерживать исходные точки.The user must keep the original points if they are needed. Исходные точки преобразуются в контрольные точки Безье третьего порядка внутри, поэтому нет механизма для возврата исходных точек.The original points are converted to cubic Bézier control points internally, therefore there is no mechanism for returning the original points.

AddCurve(Point[], Single)

Добавляет в текущую фигуру кривую сплайна.Adds a spline curve to the current figure.

public:
 void AddCurve(cli::array <System::Drawing::Point> ^ points, float tension);
public void AddCurve (System.Drawing.Point[] points, float tension);
member this.AddCurve : System.Drawing.Point[] * single -> unit
Public Sub AddCurve (points As Point(), tension As Single)

Параметры

points
Point[]

Массив структур Point, представляющий точки, которые определяют кривую.An array of Point structures that represents the points that define the curve.

tension
Single

Значение, определяющее степень изгиба кривой между контрольными точками.A value that specifies the amount that the curve bends between control points. Значения, превышающие 1, приводят к непредсказуемым результатам.Values greater than 1 produce unpredictable results.

Примеры

Пример см. в разделе AddClosedCurve(Point[], Single).For an example, see AddClosedCurve(Point[], Single).

Комментарии

При необходимости пользователь должен удерживать исходные точки.The user must keep the original points if they are needed. Исходные точки преобразуются в контрольные точки Безье третьего порядка внутри, поэтому нет механизма для возврата исходных точек.The original points are converted to cubic Bézier control points internally, therefore there is no mechanism for returning the original points.

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