Поделиться через


Graphics.DrawClosedCurve Метод

Определение

Рисует закрытую линию сплинса, определяемую массивом Point структур.

Перегрузки

DrawClosedCurve(Pen, ReadOnlySpan<Point>, Single, FillMode)
DrawClosedCurve(Pen, PointF[], Single, FillMode)

Рисует закрытую линию сплета, определенную массивом PointF структур, используя указанное напряжение.

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

Рисует закрытую линию сплета, определенную массивом Point структур, используя указанное напряжение.

DrawClosedCurve(Pen, ReadOnlySpan<PointF>, Single, FillMode)
DrawClosedCurve(Pen, ReadOnlySpan<Point>)
DrawClosedCurve(Pen, Point[])

Рисует закрытую линию сплинса, определяемую массивом Point структур.

DrawClosedCurve(Pen, ReadOnlySpan<PointF>)
DrawClosedCurve(Pen, PointF[])

Рисует закрытую линию сплинса, определяемую массивом PointF структур.

DrawClosedCurve(Pen, ReadOnlySpan<Point>, Single, FillMode)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
public:
 void DrawClosedCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points, float tension, System::Drawing::Drawing2D::FillMode fillmode);
public void DrawClosedCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.Point> points, float tension, System.Drawing.Drawing2D.FillMode fillmode);
member this.DrawClosedCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> * single * System.Drawing.Drawing2D.FillMode -> unit
Public Sub DrawClosedCurve (pen As Pen, points As ReadOnlySpan(Of Point), tension As Single, fillmode As FillMode)

Параметры

pen
Pen
tension
Single
fillmode
FillMode

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

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

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Рисует закрытую линию сплета, определенную массивом PointF структур, используя указанное напряжение.

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
Public Sub DrawClosedCurve (pen As Pen, points As PointF(), tension As Single, fillmode As FillMode)

Параметры

pen
Pen

Pen, определяющий цвет, ширину и высоту кривой.

points
PointF[]

Массив структур PointF, определяющих сплайн.

tension
Single

Значение больше или равно 0,0F, указывающее напряженность кривой.

fillmode
FillMode

Элемент перечисления FillMode, который определяет, как заполняется кривая. Этот параметр является обязательным, но игнорируется.

Исключения

pen null.

-или-

points null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает красные и зеленые пера.

  • Создает семь точек для определения кривой.

  • Рисует семь красных прямых линий между семи точками, чтобы сформировать многоугольник.

  • Создает параметры режима напряженности и заливки.

  • Рисует зеленую закрытую кривую через семь точек.

Метод использует напряжение 1.0 и задает режим заполнения для 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

Комментарии

Этот метод рисует закрытую линию сплинса, которая проходит через каждую точку массива. Если последняя точка не соответствует первой точке, добавляется дополнительный сегмент кривой из последней точки в первую точку, чтобы закрыть ее.

Массив точек должен содержать по крайней мере четыре PointF структуры.

Параметр tension определяет форму сплайна. Если значение параметра tension равно 0,0F, этот метод рисует сегменты прямой линии для подключения точек. Обычно параметр tension меньше или равен 1.0F. Значения более 1.0F создают необычные результаты.

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

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

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Рисует закрытую линию сплета, определенную массивом Point структур, используя указанное напряжение.

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
Public Sub DrawClosedCurve (pen As Pen, points As Point(), tension As Single, fillmode As FillMode)

Параметры

pen
Pen

Pen, определяющий цвет, ширину и высоту кривой.

points
Point[]

Массив структур Point, определяющих сплайн.

tension
Single

Значение больше или равно 0,0F, указывающее напряженность кривой.

fillmode
FillMode

Элемент перечисления FillMode, который определяет, как заполняется кривая. Этот параметр является обязательным, но игнорируется.

Исключения

pen null.

-или-

points null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает красные и зеленые пера.

  • Создает семь точек для определения кривой.

  • Рисует семь красных прямых линий между семи точками, чтобы сформировать многоугольник.

  • Создает параметры режима напряженности и заливки.

  • Рисует зеленую закрытую кривую через семь точек.

Метод использует напряжение 1.0 и задает режим заполнения для 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

Комментарии

Этот метод рисует закрытую линию сплинса, которая проходит через каждую точку массива. Если последняя точка не соответствует первой точке, добавляется дополнительный сегмент кривой из последней точки в первую точку, чтобы закрыть ее.

Массив точек должен содержать по крайней мере четыре Point структуры.

Параметр tension определяет форму сплайна. Если значение параметра tension равно 0,0F, этот метод рисует сегменты прямой линии для подключения точек. Обычно параметр tension меньше или равен 1.0F. Значения более 1.0F создают необычные результаты.

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

DrawClosedCurve(Pen, ReadOnlySpan<PointF>, Single, FillMode)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
public:
 void DrawClosedCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points, float tension, System::Drawing::Drawing2D::FillMode fillmode);
public void DrawClosedCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points, float tension, System.Drawing.Drawing2D.FillMode fillmode);
member this.DrawClosedCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> * single * System.Drawing.Drawing2D.FillMode -> unit
Public Sub DrawClosedCurve (pen As Pen, points As ReadOnlySpan(Of PointF), tension As Single, fillmode As FillMode)

Параметры

pen
Pen
tension
Single
fillmode
FillMode

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

DrawClosedCurve(Pen, ReadOnlySpan<Point>)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
public:
 void DrawClosedCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::Point> points);
public void DrawClosedCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.Point> points);
member this.DrawClosedCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.Point> -> unit
Public Sub DrawClosedCurve (pen As Pen, points As ReadOnlySpan(Of Point))

Параметры

pen
Pen

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

DrawClosedCurve(Pen, Point[])

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Рисует закрытую линию сплинса, определяемую массивом Point структур.

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
Public Sub DrawClosedCurve (pen As Pen, points As Point())

Параметры

pen
Pen

Pen, определяющий цвет, ширину и высоту кривой.

points
Point[]

Массив структур Point, определяющих сплайн.

Исключения

pen null.

-или-

points null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает красные и зеленые пера.

  • Создает семь точек для определения кривой.

  • Рисует семь красных прямых линий между семи точками, чтобы сформировать закрытый многоугольник.

  • Рисует зеленую закрытую кривую через семь точек.

Метод использует напряжение по умолчанию 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

Комментарии

Этот метод рисует закрытую линию сплинса, которая проходит через каждую точку массива. Если последняя точка не соответствует первой точке, добавляется дополнительный сегмент кривой из последней точки в первую точку, чтобы закрыть фигуру.

Массив точек должен содержать по крайней мере четыре Point структуры.

Этот метод использует напряжение по умолчанию 0,5.

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

DrawClosedCurve(Pen, ReadOnlySpan<PointF>)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
public:
 void DrawClosedCurve(System::Drawing::Pen ^ pen, ReadOnlySpan<System::Drawing::PointF> points);
public void DrawClosedCurve (System.Drawing.Pen pen, ReadOnlySpan<System.Drawing.PointF> points);
member this.DrawClosedCurve : System.Drawing.Pen * ReadOnlySpan<System.Drawing.PointF> -> unit
Public Sub DrawClosedCurve (pen As Pen, points As ReadOnlySpan(Of PointF))

Параметры

pen
Pen

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

DrawClosedCurve(Pen, PointF[])

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Рисует закрытую линию сплинса, определяемую массивом PointF структур.

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

Параметры

pen
Pen

Pen, определяющий цвет, ширину и высоту кривой.

points
PointF[]

Массив структур PointF, определяющих сплайн.

Исключения

pen null.

-или-

points null.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий Paint. Код выполняет следующие действия:

  • Создает красные и зеленые пера.

  • Создает семь точек для определения кривой.

  • Рисует семь красных прямых линий между семи точками, чтобы сформировать закрытый многоугольник.

  • Рисует зеленую закрытую кривую через семь точек.

Метод использует напряжение по умолчанию 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

Комментарии

Этот метод рисует закрытую линию сплинса, которая проходит через каждую точку массива. Если последняя точка не соответствует первой точке, добавляется дополнительный сегмент кривой из последней точки в первую точку, чтобы закрыть ее.

Массив точек должен содержать по крайней мере четыре PointF структуры.

Этот метод использует напряжение по умолчанию 0,5.

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