次の方法で共有


GraphicsPath.AddClosedCurve メソッド (Point , Single)

パスに閉じた曲線を追加します。曲線は配列内の各点を結ぶため、カーディナル スプライン曲線を使用します。

Overloads Public Sub AddClosedCurve( _
   ByVal points() As Point, _   ByVal tension As Single _)
[C#]
public void AddClosedCurve(Point[] points,floattension);
[C++]
public: void AddClosedCurve(Pointpoints[],floattension);
[JScript]
public function AddClosedCurve(
   points : Point[],tension : float);

パラメータ

  • points
    曲線を定義する複数の点を表す Point 構造体の配列。
  • tension
    曲線が点の間で湾曲する度合いを指定する 0 ~ 1 の値。0 が最小 (急な曲線) で、1 の場合に最も滑らかな曲線になります。

解説

必要に応じて、元の点を維持する必要があります。元の点は内部で 3 次ベジエ制御点に変換されるため、元の点を返す機構はありません。 points 配列内の最初の点と最後の点が同じではない場合、曲線はこれらの 2 つの点を結ぶことによって閉じられます。

使用例

[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。

  • (カーディナル スプラインを表す) 6 点の配列を作成します。
  • パスを作成し、そのパスに閉じた (終了点から開始点へ閉じられた) カーディナル スプライン曲線を追加します。
  • 画面にパスを描画します。

[Visual Basic, C#] テンションは 0.5 が使用されます。

 
Public Sub AddClosedCurveExample(e As PaintEventArgs)
' Creates a symetrical, closed curve.
Dim myArray As Point() =  {New Point(20, 100), New Point(40, 150), _
New Point(60, 125), New Point(40, 100), New Point(60, 75), _
New Point(40, 50)}
Dim myPath As New GraphicsPath()
myPath.AddClosedCurve(myArray, 0.5F)
Dim myPen As New Pen(Color.Black, 2)
e.Graphics.DrawPath(myPen, myPath)
End Sub
        
[C#] 
private void AddClosedCurveExample(PaintEventArgs e)
{
// Creates a symetrical, closed curve.
Point[] myArray =
{
new Point(20,100),
new Point(40,150),
new Point(60,125),
new Point(40,100),
new Point(60,75),
new Point(40,50)
};
// Create a new path and add curve.
GraphicsPath myPath = new GraphicsPath();
myPath.AddClosedCurve(myArray, .5f);
Pen myPen = new Pen(Color.Black, 2);
// Draw the path to screen.
e.Graphics.DrawPath(myPen, myPath);
}
        

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

GraphicsPath クラス | GraphicsPath メンバ | System.Drawing.Drawing2D 名前空間 | GraphicsPath.AddClosedCurve オーバーロードの一覧