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
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

指定したテンションを使用して、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 列挙体のメンバー。 このパラメーターは必須ですが、無視されます。

例外

pennullです。

または

pointsnullです。

次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • 赤と緑のペンを作成します。

  • 曲線を定義する 7 つの点を作成します。

  • 7 つの点の間に 7 本の赤い直線を描画して多角形を形成します。

  • テンションモードとフィルモード設定を作成します。

  • 7 つのポイントを通って緑色の閉じた曲線を描画します。

メソッドは、テンション 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

注釈

このメソッドは、配列内の各ポイントを通過する閉じたカーディナル スプラインを描画します。 最後の点が最初の点と一致しない場合は、最後の点から最初の点に曲線セグメントが追加されて閉じられます。

ポイントの配列には、少なくとも 4 つの PointF 構造体が含まれている必要があります。

パラメーターは tension 、スプラインの形状を決定します。 パラメーターの値が tension 0.0F の場合、このメソッドは直線セグメントを描画してポイントを接続します。 通常、 tension パラメーターは 1.0F 以下です。 1.0F を超える値では、通常とは異なる結果が生成されます。

適用対象

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

ソース:
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 列挙体のメンバー。 このパラメーターは必須ですが、無視されます。

例外

pennullです。

または

pointsnullです。

次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • 赤と緑のペンを作成します。

  • 曲線を定義する 7 つの点を作成します。

  • 7 つの点の間に 7 本の赤い直線を描画して多角形を形成します。

  • テンションモードとフィルモード設定を作成します。

  • 7 つのポイントを通って緑色の閉じた曲線を描画します。

メソッドは、テンション 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

注釈

このメソッドは、配列内の各ポイントを通過する閉じたカーディナル スプラインを描画します。 最後の点が最初の点と一致しない場合は、最後の点から最初の点に曲線セグメントが追加されて閉じられます。

ポイントの配列には、少なくとも 4 つの Point 構造体が含まれている必要があります。

パラメーターは tension 、スプラインの形状を決定します。 パラメーターの値が tension 0.0F の場合、このメソッドは直線セグメントを描画してポイントを接続します。 通常、 tension パラメーターは 1.0F 以下です。 1.0F を超える値では、通常とは異なる結果が生成されます。

適用対象

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

ソース:
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
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

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 構造体の配列。

例外

pennullです。

または

pointsnullです。

次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • 赤と緑のペンを作成します。

  • 曲線を定義する 7 つの点を作成します。

  • 7 つの点の間に 7 本の赤い直線を描画して、閉じた多角形を形成します。

  • 7 つのポイントを通って緑色の閉じた曲線を描画します。

メソッドは、既定のテンション 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

注釈

このメソッドは、配列内の各ポイントを通過する閉じたカーディナル スプラインを描画します。 最後の点が最初の点と一致しない場合は、最後の点から最初の点に追加された曲線セグメントが追加され、図形が閉じられます。

ポイントの配列には、少なくとも 4 つの Point 構造体が含まれている必要があります。

このメソッドは、既定のテンション 0.5 を使用します。

適用対象

DrawClosedCurve(Pen, ReadOnlySpan<PointF>)

ソース:
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

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 構造体の配列。

例外

pennullです。

または

pointsnullです。

次のコード例は、Windows フォームで使用するように設計されており、イベント ハンドラーのPaintパラメーターである が必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • 赤と緑のペンを作成します。

  • 曲線を定義する 7 つの点を作成します。

  • 7 つの点の間に 7 本の赤い直線を描画して、閉じた多角形を形成します。

  • 7 つのポイントを通って緑色の閉じた曲線を描画します。

メソッドは、既定のテンション 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

注釈

このメソッドは、配列内の各ポイントを通過する閉じたカーディナル スプラインを描画します。 最後の点が最初の点と一致しない場合は、最後の点から最初の点に曲線セグメントが追加されて閉じられます。

ポイントの配列には、少なくとも 4 つの PointF 構造体が含まれている必要があります。

このメソッドは、既定のテンション 0.5 を使用します。

適用対象