Graphics.DrawCurveとは? わかりやすく解説

Graphics.DrawCurve メソッド (Pen, PointF[], Single)

指定したテンション使用して指定した PointF 構造体配列通過するカーディナル スプライン描画ます。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Sub DrawCurve ( _
    pen As Pen, _
    points As PointF(), _
    tension As Single _
)
public void DrawCurve (
    Pen pen,
    PointF[] points,
    float tension
)
public:
void DrawCurve (
    Pen^ pen, 
    array<PointF>^ points, 
    float tension
)
public void DrawCurve (
    Pen pen, 
    PointF[] points, 
    float tension
)
public function DrawCurve (
    pen : Pen, 
    points : PointF[], 
    tension : float
)

パラメータ

pen

曲線の色、幅、および高さを決定する Pen

points

曲線定義する複数の点を表す PointF 構造体配列

tension

曲線テンション指定する 0.0F 以上の値。

例外例外
例外種類条件

ArgumentNullException

pennull 参照 (Visual Basic では Nothing) です。

または

pointsnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

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

このメソッドは、1.0テンション使用します

Public 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
public 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);
}
public:
   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 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Graphics.DrawCurve メソッド (Pen, Point[], Single)

指定したテンション使用して指定した Point 構造体配列通過するカーディナル スプライン描画ます。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

例外例外
例外種類条件

ArgumentNullException

pennull 参照 (Visual Basic では Nothing) です。

または

pointsnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

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

このメソッドは、1.0テンション使用します

Public 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
public 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);
}
public:
   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 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Graphics.DrawCurve メソッド (Pen, Point[])

指定した Point 構造体配列通過するカーディナル スプライン描画ます。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Sub DrawCurve ( _
    pen As Pen, _
    points As Point() _
)
public void DrawCurve (
    Pen pen,
    Point[] points
)
public:
void DrawCurve (
    Pen^ pen, 
    array<Point>^ points
)
public void DrawCurve (
    Pen pen, 
    Point[] points
)
public function DrawCurve (
    pen : Pen, 
    points : Point[]
)

パラメータ

pen

曲線の色、幅、および高さを決定する Pen

points

スプライン定義する Point 構造体配列

例外例外
例外種類条件

ArgumentNullException

pennull 参照 (Visual Basic では Nothing) です。

または

pointsnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

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

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

Public 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
public 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);
}
public:
   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 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Graphics.DrawCurve メソッド (Pen, PointF[], Int32, Int32)

指定した PointF 構造体配列通過するカーディナル スプライン描画ます。この描画は、配列先頭からのオフセットから開始されます。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Sub DrawCurve ( _
    pen As Pen, _
    points As PointF(), _
    offset As Integer, _
    numberOfSegments As Integer _
)
Dim instance As Graphics
Dim pen As Pen
Dim points As PointF()
Dim offset As Integer
Dim numberOfSegments As Integer

instance.DrawCurve(pen, points, offset, numberOfSegments)
public void DrawCurve (
    Pen pen,
    PointF[] points,
    int offset,
    int numberOfSegments
)
public:
void DrawCurve (
    Pen^ pen, 
    array<PointF>^ points, 
    int offset, 
    int numberOfSegments
)
public void DrawCurve (
    Pen pen, 
    PointF[] points, 
    int offset, 
    int numberOfSegments
)
public function DrawCurve (
    pen : Pen, 
    points : PointF[], 
    offset : int, 
    numberOfSegments : int
)

パラメータ

pen

曲線の色、幅、および高さを決定する Pen

points

スプライン定義する PointF 構造体配列

offset

points パラメータ配列最初要素から曲線開始点までのオフセット

numberOfSegments

曲線含め開始以降セグメント数。

例外例外
例外種類条件

ArgumentNullException

pennull 参照 (Visual Basic では Nothing) です。

または

pointsnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

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

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

Public 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
public 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);
}
public:
   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 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Graphics.DrawCurve メソッド (Pen, Point[], Int32, Int32, Single)

指定したテンション使用して指定した Point 構造体配列通過するカーディナル スプライン描画ます。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Sub DrawCurve ( _
    pen As Pen, _
    points As Point(), _
    offset As Integer, _
    numberOfSegments As Integer, _
    tension As Single _
)
Dim instance As Graphics
Dim pen As Pen
Dim points As Point()
Dim offset As Integer
Dim numberOfSegments As Integer
Dim tension As Single

instance.DrawCurve(pen, points, offset, numberOfSegments, tension)
public void DrawCurve (
    Pen pen,
    Point[] points,
    int offset,
    int numberOfSegments,
    float tension
)
public:
void DrawCurve (
    Pen^ pen, 
    array<Point>^ points, 
    int offset, 
    int numberOfSegments, 
    float tension
)
public void DrawCurve (
    Pen pen, 
    Point[] points, 
    int offset, 
    int numberOfSegments, 
    float tension
)
public function DrawCurve (
    pen : Pen, 
    points : Point[], 
    offset : int, 
    numberOfSegments : int, 
    tension : float
)

パラメータ

pen

曲線の色、幅、および高さを決定する Pen

points

スプライン定義する Point 構造体配列

offset

points パラメータ配列最初要素から曲線開始点までのオフセット

numberOfSegments

曲線含め開始以降セグメント数。

tension

曲線テンション指定する 0.0F 以上の値。

例外例外
例外種類条件

ArgumentNullException

pennull 参照 (Visual Basic では Nothing) です。

または

pointsnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

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

このメソッドは、テンション1.0設定します

Public 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
public 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);
}
public:
   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
 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Graphics.DrawCurve メソッド

指定した Point 構造体配列通過するカーディナル スプライン描画ます。
オーバーロードの一覧オーバーロードの一覧

参照参照

Graphics.DrawCurve メソッド (Pen, PointF[])

指定した PointF 構造体配列通過するカーディナル スプライン描画ます。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Sub DrawCurve ( _
    pen As Pen, _
    points As PointF() _
)
Dim instance As Graphics
Dim pen As Pen
Dim points As PointF()

instance.DrawCurve(pen, points)
public void DrawCurve (
    Pen pen,
    PointF[] points
)
public:
void DrawCurve (
    Pen^ pen, 
    array<PointF>^ points
)
public void DrawCurve (
    Pen pen, 
    PointF[] points
)
public function DrawCurve (
    pen : Pen, 
    points : PointF[]
)

パラメータ

pen

曲線の色、幅、および高さを決定する Pen

points

スプライン定義する PointF 構造体配列

例外例外
例外種類条件

ArgumentNullException

pennull 参照 (Visual Basic では Nothing) です。

または

pointsnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

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

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

Public 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
public 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);
}
public:
   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 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Graphics.DrawCurve メソッド (Pen, PointF[], Int32, Int32, Single)

指定したテンション使用して指定した PointF 構造体配列通過するカーディナル スプライン描画ます。この描画は、配列先頭からのオフセットから開始されます。

名前空間: System.Drawing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

Public Sub DrawCurve ( _
    pen As Pen, _
    points As PointF(), _
    offset As Integer, _
    numberOfSegments As Integer, _
    tension As Single _
)
Dim instance As Graphics
Dim pen As Pen
Dim points As PointF()
Dim offset As Integer
Dim numberOfSegments As Integer
Dim tension As Single

instance.DrawCurve(pen, points, offset, numberOfSegments, tension)
public void DrawCurve (
    Pen pen,
    PointF[] points,
    int offset,
    int numberOfSegments,
    float tension
)
public:
void DrawCurve (
    Pen^ pen, 
    array<PointF>^ points, 
    int offset, 
    int numberOfSegments, 
    float tension
)
public void DrawCurve (
    Pen pen, 
    PointF[] points, 
    int offset, 
    int numberOfSegments, 
    float tension
)
public function DrawCurve (
    pen : Pen, 
    points : PointF[], 
    offset : int, 
    numberOfSegments : int, 
    tension : float
)

パラメータ

pen

曲線の色、幅、および高さを決定する Pen

points

スプライン定義する PointF 構造体配列

offset

points パラメータ配列最初要素から曲線開始点までのオフセット

numberOfSegments

曲線含め開始以降セグメント数。

tension

曲線テンション指定する 0.0F 以上の値。

例外例外
例外種類条件

ArgumentNullException

pennull 参照 (Visual Basic では Nothing) です。

または

pointsnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

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

このメソッドは、テンション1.0設定します

Public 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
public 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);
}
public:
   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
 );
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からGraphics.DrawCurveを検索した結果を表示しています。
Weblioに収録されているすべての辞書からGraphics.DrawCurveを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からGraphics.DrawCurve を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Graphics.DrawCurve」の関連用語

Graphics.DrawCurveのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Graphics.DrawCurveのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS