Graphics.DrawClosedCurve Метод

Определение

Строит замкнутую фундаментальную кривую, определяемую массивом структур Point.Draws a closed cardinal spline defined by an array of Point structures.

Перегрузки

DrawClosedCurve(Pen, Point[], Single, FillMode)

Строит замкнутую фундаментальную кривую, определяемую массивом структур Point с указанным натяжением.Draws a closed cardinal spline defined by an array of Point structures using a specified tension.

DrawClosedCurve(Pen, PointF[], Single, FillMode)

Строит замкнутую фундаментальную кривую, определяемую массивом структур PointF с указанным натяжением.Draws a closed cardinal spline defined by an array of PointF structures using a specified tension.

DrawClosedCurve(Pen, Point[])

Строит замкнутую фундаментальную кривую, определяемую массивом структур Point.Draws a closed cardinal spline defined by an array of Point structures.

DrawClosedCurve(Pen, PointF[])

Строит замкнутую фундаментальную кривую, определяемую массивом структур PointF.Draws a closed cardinal spline defined by an array of PointF structures.

DrawClosedCurve(Pen, Point[], Single, FillMode)

Строит замкнутую фундаментальную кривую, определяемую массивом структур Point с указанным натяжением.Draws a closed cardinal spline defined by an array of Point structures using a specified tension.

public:
 void DrawClosedCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points, float tension, System::Drawing::Drawing2D::FillMode fillmode);
public void DrawClosedCurve (System.Drawing.Pen pen, System.Drawing.Point[] points, float tension, System.Drawing.Drawing2D.FillMode fillmode);
member this.DrawClosedCurve : System.Drawing.Pen * System.Drawing.Point[] * single * System.Drawing.Drawing2D.FillMode -> unit

Параметры

pen
Pen

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

points
Point[]

Массив структур Point, определяющих кривую.Array of Point structures that define the spline.

tension
Single

Значение, превышающее или равное 0,0F, которое задает натяжение кривой.Value greater than or equal to 0.0F that specifies the tension of the curve.

fillmode
FillMode

Член перечисления FillMode, определяющий способ заполнения кривой.Member of the FillMode enumeration that determines how the curve is filled. Данный параметр является обязательным, однако не обрабатывается.This parameter is required but ignored.

Исключения

Свойство 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 red and green pens.

  • Создает семь точек для определения кривой.Creates seven points to define the curve.

  • Рисует семь прямых линий красного цвета между семью точками, образуя многоугольник.Draws seven red straight lines between the seven points to form a polygon.

  • Создает параметры натяжения и режима заполнения.Creates tension and fill mode settings.

  • Рисует зеленую замкнутую кривую через семь точек.Draws a green closed curve through the seven points.

Метод использует натяжение 1,0 и устанавливает для FillMode.Alternateрежима заполнения значение.The method uses a tension of 1.0 and sets the fill mode to FillMode.Alternate.

private:
   void DrawClosedCurvePointTension( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      Point point1 = Point(50,50);
      Point point2 = Point(100,25);
      Point point3 = Point(200,5);
      Point point4 = Point(250,50);
      Point point5 = Point(300,100);
      Point point6 = Point(350,200);
      Point point7 = Point(250,250);
      array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Create tension and fill mode.
      float tension = 1.0F;
      FillMode aFillMode = FillMode::Alternate;

      // Draw closed curve to screen.
      e->Graphics->DrawClosedCurve( greenPen, curvePoints, tension, aFillMode );
   }
private void DrawClosedCurvePointTension(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    Point point1 = new Point(50, 50);
    Point point2 = new Point(100, 25);
    Point point3 = new Point(200, 5);
    Point point4 = new Point(250, 50);
    Point point5 = new Point(300, 100);
    Point point6 = new Point(350, 200);
    Point point7 = new Point(250, 250);
    Point[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Create tension and fill mode.
    float tension = 1.0F;
    FillMode aFillMode = FillMode.Alternate;

    // Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints, tension, aFillMode);
}
Private Sub DrawClosedCurvePointTension(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New Point(50, 50)
    Dim point2 As New Point(100, 25)
    Dim point3 As New Point(200, 5)
    Dim point4 As New Point(250, 50)
    Dim point5 As New Point(300, 100)
    Dim point6 As New Point(350, 200)
    Dim point7 As New Point(250, 250)
    Dim curvePoints As Point() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Create tension and fill mode.
    Dim tension As Single = 1.0F
    Dim aFillMode As FillMode = FillMode.Alternate

    ' Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints, tension, _
    aFillMode)
End Sub

Комментарии

Этот метод рисует замкнутую фундаментальную кривую, которая проходит через каждую точку в массиве.This method draws a closed cardinal spline that passes through each point in the array. Если последняя точка не соответствует первой, добавляется дополнительный сегмент кривой с последней точки на первую точку, чтобы закрыть его.If the last point does not match the first point, an additional curve segment is added from the last point to the first point to close it.

Массив точек должен содержать по крайней мере четыре Point структуры.The array of points must contain at least four Point structures.

tension Параметр определяет форму сплайна.The tension parameter determines the shape of the spline. Если значение tension параметра равно 0,0 f, этот метод рисует сегменты прямой линии для соединения точек.If the value of the tension parameter is 0.0F, this method draws straight line segments to connect the points. tension Обычно параметр меньше или равен 1,0 f.Usually, the tension parameter is less than or equal to 1.0F. Значения более 1,0 F выдают необычные результаты.Values over 1.0F produce unusual results.

DrawClosedCurve(Pen, PointF[], Single, FillMode)

Строит замкнутую фундаментальную кривую, определяемую массивом структур PointF с указанным натяжением.Draws a closed cardinal spline defined by an array of PointF structures using a specified tension.

public:
 void DrawClosedCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, float tension, System::Drawing::Drawing2D::FillMode fillmode);
public void DrawClosedCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, float tension, System.Drawing.Drawing2D.FillMode fillmode);
member this.DrawClosedCurve : System.Drawing.Pen * System.Drawing.PointF[] * single * System.Drawing.Drawing2D.FillMode -> unit

Параметры

pen
Pen

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

points
PointF[]

Массив структур PointF, определяющих кривую.Array of PointF structures that define the spline.

tension
Single

Значение, превышающее или равное 0,0F, которое задает натяжение кривой.Value greater than or equal to 0.0F that specifies the tension of the curve.

fillmode
FillMode

Член перечисления FillMode, определяющий способ заполнения кривой.Member of the FillMode enumeration that determines how the curve is filled. Это параметр является обязательным, однако не обрабатывается.This parameter is required but is ignored.

Исключения

pennull.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 red and green pens.

  • Создает семь точек для определения кривой.Creates seven points to define the curve.

  • Рисует семь прямых линий красного цвета между семью точками, образуя многоугольник.Draws seven red straight lines between the seven points to form a polygon.

  • Создает параметры натяжения и режима заполнения.Creates tension and fill mode settings.

  • Рисует зеленую замкнутую кривую через семь точек.Draws a green closed curve through the seven points.

Метод использует натяжение 1,0 и устанавливает для FillMode.Alternateрежима заполнения значение.The method uses a tension of 1.0 and sets the fill mode to FillMode.Alternate.

private:
   void DrawClosedCurvePointFTension( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      PointF point1 = PointF(50.0F,50.0F);
      PointF point2 = PointF(100.0F,25.0F);
      PointF point3 = PointF(200.0F,5.0F);
      PointF point4 = PointF(250.0F,50.0F);
      PointF point5 = PointF(300.0F,100.0F);
      PointF point6 = PointF(350.0F,200.0F);
      PointF point7 = PointF(250.0F,250.0F);
      array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Create tension and fill mode.
      float tension = 1.0F;
      FillMode aFillMode = FillMode::Alternate;

      // Draw closed curve to screen.
      e->Graphics->DrawClosedCurve( greenPen, curvePoints, tension, aFillMode );
   }
private void DrawClosedCurvePointFTension(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    PointF point1 = new PointF(50.0F, 50.0F);
    PointF point2 = new PointF(100.0F, 25.0F);
    PointF point3 = new PointF(200.0F, 5.0F);
    PointF point4 = new PointF(250.0F, 50.0F);
    PointF point5 = new PointF(300.0F, 100.0F);
    PointF point6 = new PointF(350.0F, 200.0F);
    PointF point7 = new PointF(250.0F, 250.0F);
    PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Create tension and fill mode.
    float tension = 1.0F;
    FillMode aFillMode = FillMode.Alternate;

    // Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints, tension, aFillMode);
}
Private Sub DrawClosedCurvePointFTension(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New PointF(50.0F, 50.0F)
    Dim point2 As New PointF(100.0F, 25.0F)
    Dim point3 As New PointF(200.0F, 5.0F)
    Dim point4 As New PointF(250.0F, 50.0F)
    Dim point5 As New PointF(300.0F, 100.0F)
    Dim point6 As New PointF(350.0F, 200.0F)
    Dim point7 As New PointF(250.0F, 250.0F)
    Dim curvePoints As PointF() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Create tension and fill mode.
    Dim tension As Single = 1.0F
    Dim aFillMode As FillMode = FillMode.Alternate

    ' Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints, tension, _
    aFillMode)
End Sub

Комментарии

Этот метод рисует замкнутую фундаментальную кривую, которая проходит через каждую точку в массиве.This method draws a closed cardinal spline that passes through each point in the array. Если последняя точка не соответствует первой, добавляется дополнительный сегмент кривой с последней точки на первую точку, чтобы закрыть его.If the last point does not match the first point, an additional curve segment is added from the last point to the first point to close it.

Массив точек должен содержать по крайней мере четыре PointF структуры.The array of points must contain at least four PointF structures.

tension Параметр определяет форму сплайна.The tension parameter determines the shape of the spline. Если значение tension параметра равно 0,0 f, этот метод рисует сегменты прямой линии для соединения точек.If the value of the tension parameter is 0.0F, this method draws straight line segments to connect the points. tension Обычно параметр меньше или равен 1,0 f.Usually, the tension parameter is less than or equal to 1.0F. Значения более 1,0 F выдают необычные результаты.Values over 1.0F produce unusual results.

DrawClosedCurve(Pen, Point[])

Строит замкнутую фундаментальную кривую, определяемую массивом структур Point.Draws a closed cardinal spline defined by an array of Point structures.

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

Параметры

pen
Pen

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

points
Point[]

Массив структур Point, определяющих кривую.Array of Point structures that define the spline.

Исключения

pennull.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 red and green pens.

  • Создает семь точек для определения кривой.Creates seven points to define a curve.

  • Рисует семь прямых линий красного цвета между семью точками, образуя замкнутый многоугольник.Draws seven red straight lines between the seven points to form a closed polygon.

  • Рисует зеленую замкнутую кривую через семь точек.Draws a green closed curve through the seven points.

Метод использует натяжение по умолчанию 0,5.The method uses a default tension of 0.5.

private:
   void DrawClosedCurvePoint( PaintEventArgs^ e )
   {

      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      Point point1 = Point(50,50);
      Point point2 = Point(100,25);
      Point point3 = Point(200,5);
      Point point4 = Point(250,50);
      Point point5 = Point(300,100);
      Point point6 = Point(350,200);
      Point point7 = Point(250,250);
      array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Draw closed curve to screen.
      e->Graphics->DrawClosedCurve( greenPen, curvePoints );
   }
private void DrawClosedCurvePoint(PaintEventArgs e)
{
    // Create pens.
    Pen redPen   = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);
             
    // Create points that define curve.
    Point point1 = new Point(50,  50);
    Point point2 = new Point(100,  25);
    Point point3 = new Point(200,   5);
    Point point4 = new Point(250,  50);
    Point point5 = new Point(300, 100);
    Point point6 = new Point(350, 200);
    Point point7 = new Point(250, 250);
    Point[] curvePoints =
             {
                 point1,
                 point2,
                 point3,
                 point4,
                 point5,
                 point6,
                 point7
             };
             
    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);
             
    // Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints);
}
Private Sub DrawClosedCurvePoint(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New Point(50, 50)
    Dim point2 As New Point(100, 25)
    Dim point3 As New Point(200, 5)
    Dim point4 As New Point(250, 50)
    Dim point5 As New Point(300, 100)
    Dim point6 As New Point(350, 200)
    Dim point7 As New Point(250, 250)
    Dim curvePoints As Point() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints)
End Sub

Комментарии

Этот метод рисует замкнутую фундаментальную кривую, которая проходит через каждую точку в массиве.This method draws a closed cardinal spline that passes through each point in the array. Если последняя точка не соответствует первой, добавляется дополнительный сегмент кривой с последней точки до первой точки, чтобы закрыть фигуру.If the last point does not match the first point, an additional curve segment is added from the last point to the first point to close the figure.

Массив точек должен содержать по крайней мере четыре Point структуры.The array of points must contain at least four Point structures.

Этот метод использует натяжение 0,5 по умолчанию.This method uses a default tension of 0.5.

DrawClosedCurve(Pen, PointF[])

Строит замкнутую фундаментальную кривую, определяемую массивом структур PointF.Draws a closed cardinal spline defined by an array of PointF structures.

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

Параметры

pen
Pen

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

points
PointF[]

Массив структур PointF, определяющих кривую.Array of PointF structures that define the spline.

Исключения

Свойство 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 red and green pens.

  • Создает семь точек для определения кривой.Creates seven points to define a curve.

  • Рисует семь прямых линий красного цвета между семью точками, образуя замкнутый многоугольник.Draws seven red straight lines between the seven points to form a closed polygon.

  • Рисует зеленую замкнутую кривую через семь точек.Draws a green closed curve through the seven points.

Метод использует натяжение по умолчанию 0,5.The method uses a default tension of 0.5.

private:
   void DrawClosedCurvePointF( PaintEventArgs^ e )
   {
      // Create pens.
      Pen^ redPen = gcnew Pen( Color::Red,3.0f );
      Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

      // Create points that define curve.
      PointF point1 = PointF(50.0F,50.0F);
      PointF point2 = PointF(100.0F,25.0F);
      PointF point3 = PointF(200.0F,5.0F);
      PointF point4 = PointF(250.0F,50.0F);
      PointF point5 = PointF(300.0F,100.0F);
      PointF point6 = PointF(350.0F,200.0F);
      PointF point7 = PointF(250.0F,250.0F);
      array<PointF>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

      // Draw lines between original points to screen.
      e->Graphics->DrawLines( redPen, curvePoints );

      // Draw closed curve to screen.
      e->Graphics->DrawClosedCurve( greenPen, curvePoints );
   }
private void DrawClosedCurvePointF(PaintEventArgs e)
{

    // Create pens.
    Pen redPen = new Pen(Color.Red, 3);
    Pen greenPen = new Pen(Color.Green, 3);

    // Create points that define curve.
    PointF point1 = new PointF(50.0F, 50.0F);
    PointF point2 = new PointF(100.0F, 25.0F);
    PointF point3 = new PointF(200.0F, 5.0F);
    PointF point4 = new PointF(250.0F, 50.0F);
    PointF point5 = new PointF(300.0F, 100.0F);
    PointF point6 = new PointF(350.0F, 200.0F);
    PointF point7 = new PointF(250.0F, 250.0F);
    PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};

    // Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints);

    // Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints);
}
Private Sub DrawClosedCurvePointF(ByVal e As PaintEventArgs)

    ' Create pens.
    Dim redPen As New Pen(Color.Red, 3)
    Dim greenPen As New Pen(Color.Green, 3)

    ' Create points that define curve.
    Dim point1 As New PointF(50.0F, 50.0F)
    Dim point2 As New PointF(100.0F, 25.0F)
    Dim point3 As New PointF(200.0F, 5.0F)
    Dim point4 As New PointF(250.0F, 50.0F)
    Dim point5 As New PointF(300.0F, 100.0F)
    Dim point6 As New PointF(350.0F, 200.0F)
    Dim point7 As New PointF(250.0F, 250.0F)
    Dim curvePoints As PointF() = {point1, point2, point3, point4, _
    point5, point6, point7}

    ' Draw lines between original points to screen.
    e.Graphics.DrawLines(redPen, curvePoints)

    ' Draw closed curve to screen.
    e.Graphics.DrawClosedCurve(greenPen, curvePoints)
End Sub

Комментарии

Этот метод рисует замкнутую фундаментальную кривую, которая проходит через каждую точку в массиве.This method draws a closed cardinal spline that passes through each point in the array. Если последняя точка не соответствует первой, добавляется дополнительный сегмент кривой с последней точки на первую точку, чтобы закрыть его.If the last point does not match the first point, an additional curve segment is added from the last point to the first point to close it.

Массив точек должен содержать по крайней мере четыре PointF структуры.The array of points must contain at least four PointF structures.

Этот метод использует натяжение 0,5 по умолчанию.This method uses a default tension of 0.5.

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