Graphics.DrawCurve Graphics.DrawCurve Graphics.DrawCurve Method

定義

指定した Point 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of Point structures.

オーバーロード

DrawCurve(Pen, Point[]) DrawCurve(Pen, Point[]) DrawCurve(Pen, Point[])

指定した Point 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of Point structures.

DrawCurve(Pen, PointF[]) DrawCurve(Pen, PointF[]) DrawCurve(Pen, PointF[])

指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures.

DrawCurve(Pen, Point[], Single) DrawCurve(Pen, Point[], Single) DrawCurve(Pen, Point[], Single)

指定したテンションを使用して、指定した Point 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of Point structures using a specified tension.

DrawCurve(Pen, PointF[], Single) DrawCurve(Pen, PointF[], Single) DrawCurve(Pen, PointF[], Single)

指定したテンションを使用して、指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures using a specified tension.

DrawCurve(Pen, PointF[], Int32, Int32) DrawCurve(Pen, PointF[], Int32, Int32) DrawCurve(Pen, PointF[], Int32, Int32)

指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures. この描画は、配列の先頭からのオフセットから開始されます。The drawing begins offset from the beginning of the array.

DrawCurve(Pen, Point[], Int32, Int32, Single) DrawCurve(Pen, Point[], Int32, Int32, Single) DrawCurve(Pen, Point[], Int32, Int32, Single)

指定したテンションを使用して、指定した Point 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of Point structures using a specified tension.

DrawCurve(Pen, PointF[], Int32, Int32, Single) DrawCurve(Pen, PointF[], Int32, Int32, Single) DrawCurve(Pen, PointF[], Int32, Int32, Single)

指定したテンションを使用して、指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures using a specified tension. この描画は、配列の先頭からのオフセットから開始されます。The drawing begins offset from the beginning of the array.

DrawCurve(Pen, Point[]) DrawCurve(Pen, Point[]) DrawCurve(Pen, Point[])

指定した Point 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of Point structures.

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

パラメーター

pen
Pen Pen Pen

曲線の色、幅、および高さを決定する PenPen 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 フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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.

  • 曲線を定義する7つのポイントを作成します。Creates seven points to define a curve.

  • 7つのポイントの間に6つの赤い直線を描画して、不完全な多角形を形成します。Draws six red straight lines between the seven points to form an incomplete polygon.

  • 7つのポイントを介して、開いている緑の曲線を描画します。Draws an open green curve through the seven points.

メソッドでは、0.5 の既定のテンションが使用されます。The method uses a default tension of 0.5.

private:
   void DrawCurvePoint( 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 curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints );
   }
private void DrawCurvePoint(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 curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints);
}
Private Sub DrawCurvePoint(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 curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints)
End Sub

注釈

このメソッドは、配列内の各点を通過するカーディナルスプラインを描画します。This method draws a cardinal spline that passes through each point in the array.

点の配列には、曲線を描画Pointするために少なくとも3つの構造体が含まれている必要があります。The array of points must contain at least three Point structures for a curve to be drawn.

このメソッドは、0.5 の既定のテンションを使用します。This method uses a default tension of 0.5.

DrawCurve(Pen, PointF[]) DrawCurve(Pen, PointF[]) DrawCurve(Pen, PointF[])

指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures.

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

パラメーター

pen
Pen Pen Pen

曲線の色、幅、およびスタイルを決定する PenPen that determines the color, width, and style of the curve.

points
PointF[]

スプラインを定義する PointF 構造体の配列。Array of PointF structures that define the spline.

例外

pennullです。pen is null.

- または --or- pointsnull です。points is null.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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.

  • 曲線を定義する7つのポイントを作成します。Creates seven points to define a curve.

  • 7つのポイントの間に6つの赤い直線を描画して、不完全な多角形を形成します。Draws six red straight lines between the seven points to form an incomplete polygon.

  • 7つのポイントを介して、開いている緑の曲線を描画します。Draws an open green curve through the seven points.

メソッドでは、0.5 の既定のテンションが使用されます。The method uses a default tension of 0.5.

private:
   void DrawCurvePointF( 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 curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints );
   }
private void DrawCurvePointF(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 curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints);
}
Private Sub DrawCurvePointF(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 curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints)
End Sub

注釈

このメソッドは、配列内の各点を通過するカーディナルスプラインを描画します。This method draws a cardinal spline that passes through each point in the array.

点の配列には、曲線を描画PointFするために少なくとも3つの構造体が含まれている必要があります。The array of points must contain at least three PointF structures for a curve to be drawn.

このメソッドは、0.5 の既定のテンションを使用します。This method uses a default tension of 0.5.

DrawCurve(Pen, Point[], Single) DrawCurve(Pen, Point[], Single) DrawCurve(Pen, Point[], Single)

指定したテンションを使用して、指定した Point 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of Point structures using a specified tension.

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

パラメーター

pen
Pen Pen Pen

曲線の色、幅、およびスタイルを決定する PenPen that determines the color, width, and style of the curve.

points
Point[]

スプラインを定義する Point 構造体の配列。Array of Point structures that define the spline.

tension
Single Single Single

曲線のテンションを指定する 0.0F 以上の値。Value greater than or equal to 0.0F that specifies the tension of the curve.

例外

pennullです。pen is null.

- または --or- pointsnullです。points is null.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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.

  • 曲線を定義する7つの点を作成します。Creates seven points to define the curve.

  • 7つのポイントの間に6つの赤い直線を描画して、不完全な多角形を形成します。Draws six red straight lines between the seven points to form an incomplete polygon.

  • テンション設定を作成します。Creates a tension setting.

  • 7つのポイントを介して、開いている緑の閉じた曲線を描画します。Draws an open green closed curve through the seven points.

このメソッドは、1.0 のテンションを使用します。The method uses a tension of 1.0.

private:
   void DrawCurvePointTension( 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.
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, tension );
   }
private void DrawCurvePointTension(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.
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension);
}
Private Sub DrawCurvePointTension(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.
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension)
End Sub

注釈

このメソッドは、配列内の各点を通過するカーディナルスプラインを描画します。This method draws a cardinal spline that passes through each point in the array.

点の配列には、曲線を描画Pointするために少なくとも3つの構造体が含まれている必要があります。The array of points must contain at least three Point structures for a curve to be drawn.

パラメーター 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.

DrawCurve(Pen, PointF[], Single) DrawCurve(Pen, PointF[], Single) DrawCurve(Pen, PointF[], Single)

指定したテンションを使用して、指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures using a specified tension.

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

パラメーター

pen
Pen Pen Pen

曲線の色、幅、およびスタイルを決定する PenPen that determines the color, width, and style of the curve.

points
PointF[]

曲線を定義する複数の点を表す PointF 構造体の配列。Array of PointF structures that represent the points that define the curve.

tension
Single Single Single

曲線のテンションを指定する 0.0F 以上の値。Value greater than or equal to 0.0F that specifies the tension of the curve.

例外

pennullです。pen is null.

- または --or- pointsnullです。points is null.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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.

  • 曲線を定義する7つの点を作成します。Creates seven points to define the curve.

  • 7つのポイントの間に6つの赤い直線を描画して、不完全な多角形を形成します。Draws six red straight lines between the seven points to form an incomplete polygon.

  • テンション設定を作成します。Creates a tension setting.

  • 7つのポイントを介して、開いている緑の閉じた曲線を描画します。Draws an open green closed curve through the seven points.

このメソッドは、1.0 のテンションを使用します。The method uses a tension of 1.0.

private:
   void DrawCurvePointFTension( 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.
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, tension );
   }
private void DrawCurvePointFTension(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.
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension);
}
Private Sub DrawCurvePointFTension(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.
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, tension)
End Sub

注釈

このメソッドは、配列内の各点を通過するカーディナルスプラインを描画します。This method draws a cardinal spline that passes through each point in the array.

点の配列には、曲線を描画PointFするために少なくとも3つの構造体が含まれている必要があります。The array of points must contain at least three PointF structures for a curve to be drawn.

パラメーター 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.

DrawCurve(Pen, PointF[], Int32, Int32) DrawCurve(Pen, PointF[], Int32, Int32) DrawCurve(Pen, PointF[], Int32, Int32)

指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures. この描画は、配列の先頭からのオフセットから開始されます。The drawing begins offset from the beginning of the array.

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

パラメーター

pen
Pen Pen Pen

曲線の色、幅、およびスタイルを決定する PenPen that determines the color, width, and style of the curve.

points
PointF[]

スプラインを定義する PointF 構造体の配列。Array of PointF structures that define the spline.

offset
Int32 Int32 Int32

points パラメーターの配列の最初の要素から曲線の開始点までのオフセット。Offset from the first element in the array of the points parameter to the starting point in the curve.

numberOfSegments
Int32 Int32 Int32

曲線に含める開始点以降のセグメント数。Number of segments after the starting point to include in the curve.

例外

pennullです。pen is null.

- または --or- pointsnullです。points is null.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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.

  • 曲線を定義する7つのポイントを作成します。Creates seven points to define a curve.

  • 7つのポイントの間に6つの赤い直線を描画して、不完全な多角形を形成します。Draws six red straight lines between the seven points to form an incomplete polygon.

  • 開始点のオフセットとセグメントの数を定義します。Defines the starting point offset and number of segments.

  • 最後の5つの点を通じて、開いている緑の曲線 (3 番目の点から開始) を描画します。Draws an open green curve (starting at the third point) through the last five points.

メソッドでは、0.5 の既定のテンションが使用されます。The method uses a default tension of 0.5.

private:
   void DrawCurvePointFSegments( 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 offset and number of segments.
      int offset = 2;
      int numSegments = 4;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments );
   }
private void DrawCurvePointFSegments(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 offset and number of segments.
    int offset = 2;
    int numSegments = 4;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments);
}
Private Sub DrawCurvePointFSegments(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 offset and number of segments.
    Dim offset As Integer = 2
    Dim numSegments As Integer = 4

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments)
End Sub

注釈

このメソッドは、配列内の各点を通過するカーディナルスプラインを描画します。This method draws a cardinal spline that passes through each point in the array.

点の配列には、曲線を描画PointFするために少なくとも3つの構造体が含まれている必要があります。The array of points must contain at least three PointF structures for a curve to be drawn.

offsetパラメーターの値は、配列内でスキップする要素の数を指定します。The value of the offset parameter specifies the number of elements to skip in the array. スキップされた要素の後の最初の要素は、曲線の開始点を表します。The first element after the skipped elements represents the starting point of the curve.

numberOfSegmentsパラメーターの値は、開始点の後に曲線に描画するセグメントの数を指定します。The value of the numberOfSegments parameter specifies the number of segments, after the starting point, to draw in the curve. numberOfSegmentsパラメーターの値は1以上である必要があります。The value of the numberOfSegments parameter must be at least 1. パラメーターの値にoffsetパラメーターの値numberOfSegmentsを加えた値は、 pointsパラメーターの配列内の要素数よりも小さくする必要があります。The value of the offset parameter plus the value of the numberOfSegments parameter must be less than the number of elements in the array of the points parameter.

このメソッドは、0.5 の既定のテンションを使用します。This method uses a default tension of 0.5.

DrawCurve(Pen, Point[], Int32, Int32, Single) DrawCurve(Pen, Point[], Int32, Int32, Single) DrawCurve(Pen, Point[], Int32, Int32, Single)

指定したテンションを使用して、指定した Point 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of Point structures using a specified tension.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::Point> ^ points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.Point[] points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.Point[] * int * int * single -> unit

パラメーター

pen
Pen Pen Pen

曲線の色、幅、およびスタイルを決定する PenPen that determines the color, width, and style of the curve.

points
Point[]

スプラインを定義する Point 構造体の配列。Array of Point structures that define the spline.

offset
Int32 Int32 Int32

points パラメーターの配列の最初の要素から曲線の開始点までのオフセット。Offset from the first element in the array of the points parameter to the starting point in the curve.

numberOfSegments
Int32 Int32 Int32

曲線に含める開始点以降のセグメント数。Number of segments after the starting point to include in the curve.

tension
Single Single Single

曲線のテンションを指定する 0.0F 以上の値。Value greater than or equal to 0.0F that specifies the tension of the curve.

例外

pennull です。pen is null.

- または --or- pointsnull です。points is null.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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.

  • 曲線を定義する7つのポイントを作成します。Creates seven points to define a curve.

  • 7つのポイントの間に6つの赤い直線を描画して、不完全な多角形を形成します。Draws six red straight lines between the seven points to form an incomplete polygon.

  • 開始点のオフセットとセグメントの数を定義します。Defines the starting point offset and number of segments.

  • テンションを定義します。Defines the tension.

  • 最後の5つの点を通じて、開いている緑の曲線 (3 番目の点から開始) を描画します。Draws an open green curve (starting at the third point) through the last five points.

メソッドは、テンションを1.0 に設定します。The method sets the tension to 1.0.

private:
   void DrawCurvePointSegmentTension( 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 offset, number of segments, and tension.
      int offset = 2;
      int numSegments = 4;
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments, tension );
   }
private void DrawCurvePointSegmentTension(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 offset, number of segments, and tension.
    int offset = 2;
    int numSegments = 4;
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, tension);
}
Private Sub DrawCurvePointSegmentTension(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 offset, number of segments, and tension.
    Dim offset As Integer = 2
    Dim numSegments As Integer = 4
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, _
    tension)
End Sub

注釈

このメソッドは、配列内の各点を通過するカーディナルスプラインを描画します。This method draws a cardinal spline that passes through each point in the array.

点の配列には、曲線を描画Pointするために少なくとも3つの構造体が含まれている必要があります。The array of points must contain at least three Point structures for a curve to be drawn.

offsetパラメーターの値は、配列内でスキップする要素の数を指定します。The value of the offset parameter specifies the number of elements to skip in the array. スキップされた要素の後の最初の要素は、曲線の開始点を表します。The first element after the skipped elements represents the starting point of the curve.

numberOfSegmentsパラメーターの値は、開始点の後に曲線に描画するセグメントの数を指定します。The value of the numberOfSegments parameter specifies the number of segments, after the starting point, to draw in the curve. numberOfSegmentsパラメーターの値は1以上である必要があります。The value of the numberOfSegments parameter must be at least 1. パラメーターの値にoffsetパラメーターの値numberOfSegmentsを加えた値は、 pointsパラメーターの配列内の要素数よりも小さくする必要があります。The value of the offset parameter plus the value of the numberOfSegments parameter must be less than the number of elements in the array of the points parameter.

パラメーター 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.

DrawCurve(Pen, PointF[], Int32, Int32, Single) DrawCurve(Pen, PointF[], Int32, Int32, Single) DrawCurve(Pen, PointF[], Int32, Int32, Single)

指定したテンションを使用して、指定した PointF 構造体の配列を通過するカーディナル スプラインを描画します。Draws a cardinal spline through a specified array of PointF structures using a specified tension. この描画は、配列の先頭からのオフセットから開始されます。The drawing begins offset from the beginning of the array.

public:
 void DrawCurve(System::Drawing::Pen ^ pen, cli::array <System::Drawing::PointF> ^ points, int offset, int numberOfSegments, float tension);
public void DrawCurve (System.Drawing.Pen pen, System.Drawing.PointF[] points, int offset, int numberOfSegments, float tension);
member this.DrawCurve : System.Drawing.Pen * System.Drawing.PointF[] * int * int * single -> unit

パラメーター

pen
Pen Pen Pen

曲線の色、幅、およびスタイルを決定する PenPen that determines the color, width, and style of the curve.

points
PointF[]

スプラインを定義する PointF 構造体の配列。Array of PointF structures that define the spline.

offset
Int32 Int32 Int32

points パラメーターの配列の最初の要素から曲線の開始点までのオフセット。Offset from the first element in the array of the points parameter to the starting point in the curve.

numberOfSegments
Int32 Int32 Int32

曲線に含める開始点以降のセグメント数。Number of segments after the starting point to include in the curve.

tension
Single Single Single

曲線のテンションを指定する 0.0F 以上の値。Value greater than or equal to 0.0F that specifies the tension of the curve.

例外

pennull です。pen is null.

- または --or- pointsnullです。points is null.

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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.

  • 曲線を定義する7つのポイントを作成します。Creates seven points to define a curve.

  • 7つのポイントの間に6つの赤い直線を描画して、不完全な多角形を形成します。Draws six red straight lines between the seven points to form an incomplete polygon.

  • 開始点のオフセットとセグメントの数を定義します。Defines the starting point offset and number of segments.

  • テンションを定義します。Defines the tension.

  • 最後の5つの点を通じて、開いている緑の曲線 (3 番目の点から開始) を描画します。Draws an open green curve (starting at the third point) through the last five points.

メソッドは、テンションを1.0 に設定します。The method sets the tension to 1.0.

private:
   void DrawCurvePointFSegmentTension( 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 offset, number of segments, and tension.
      int offset = 2;
      int numSegments = 4;
      float tension = 1.0F;

      // Draw curve to screen.
      e->Graphics->DrawCurve( greenPen, curvePoints, offset, numSegments, tension );
   }
private void DrawCurvePointFSegmentTension(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 offset, number of segments, and tension.
    int offset = 2;
    int numSegments = 4;
    float tension = 1.0F;

    // Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, tension);
}
Private Sub DrawCurvePointFSegmentTension(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 offset, number of segments, and tension.
    Dim offset As Integer = 2
    Dim numSegments As Integer = 4
    Dim tension As Single = 1.0F

    ' Draw curve to screen.
    e.Graphics.DrawCurve(greenPen, curvePoints, offset, numSegments, _
    tension)
End Sub

注釈

このメソッドは、配列内の各点を通過するカーディナルスプラインを描画します。This method draws a cardinal spline that passes through each point in the array.

点の配列には、曲線を描画PointFするために少なくとも3つの構造体が含まれている必要があります。The array of points must contain at least three PointF structures for curve to be drawn.

offsetパラメーターの値は、配列内でスキップする要素の数を指定します。The value of the offset parameter specifies the number of elements to skip in the array. スキップされた要素の後の最初の要素は、曲線の開始点を表します。The first element after the skipped elements represents the starting point of the curve.

numberOfSegmentsパラメーターの値は、開始点の後に曲線に描画するセグメントの数を指定します。The value of the numberOfSegments parameter specifies the number of segments, after the starting point, to draw in the curve. numberOfSegmentsパラメーターの値は1以上である必要があります。The value of the numberOfSegments parameter must be at least 1. パラメーターの値にoffsetパラメーターの値numberOfSegmentsを加えた値は、 pointsパラメーターの配列内の要素数よりも小さくする必要があります。The value of the offset parameter plus the value of the numberOfSegments parameter must be less than the number of elements in the array of the points parameter.

パラメーター 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.

適用対象