次の方法で共有


方法 : 一連のベジエ スプラインを描画する

Graphics クラスの DrawBeziers メソッドを使用すると、連結された一連のベジエ スプラインを描画できます。

使用例

2 つのベジエ スプラインを結んだ 1 つの曲線を描画する例を次に示します。 1 番目のベジエ スプラインの終了点は 2 番目のベジエ スプラインの開始点です。

結合されたスプラインとその 7 つの点を次の図に示します。

ベジエ スプライン

        ' Point(10, 100) = start point of first spline
        ' Point(75, 10) = first control point of first spline
        ' Point(80, 50) = second control point of first spline

        ' Point(100, 150) = endpoint of first spline and start point of second spline

        ' Point(125, 80) = first control point of second spline
        ' Point(175, 200) = second control point of second spline
        ' Point(200, 80)} = endpoint of second spline
        Dim p As Point() = { _
               New Point(10, 100), _
               New Point(75, 10), _
               New Point(80, 50), _
               New Point(100, 150), _
               New Point(125, 80), _
               New Point(175, 200), _
               New Point(200, 80)}

        Dim pen As New Pen(Color.Blue)
        e.Graphics.DrawBeziers(pen, p)

        Point[] p = {
           new Point(10, 100),   // start point of first spline
           new Point(75, 10),    // first control point of first spline
           new Point(80, 50),    // second control point of first spline

           new Point(100, 150),  // endpoint of first spline and 
                                 // start point of second spline

           new Point(125, 80),   // first control point of second spline
           new Point(175, 200),  // second control point of second spline
           new Point(200, 80)};  // endpoint of second spline

        Pen pen = new Pen(Color.Blue);
        e.Graphics.DrawBeziers(pen, p);

コードのコンパイル

前述の例は Windows フォームと一緒に使用することが想定されていて、Paint イベント ハンドラーのパラメーターである PaintEventArgs e が必要です。

参照

概念

GDI+ でのベジエ スプライン

その他の技術情報

Windows フォームにおけるグラフィックスと描画

曲線の作成と描画