3

ベジェ曲線のパスを作成しましたが、パスを描画するのに問題なく機能します。しかし、パスと一緒にコントロールポイントを描画する方法がわかりません。それは可能ですか、それとも別のデータ構造でそれらを追跡する必要がありますか?

更新:コントロールポイントを描画する理由は、ユーザーがコントロールポイントのハンドルを使用して曲線を編集できるようにするためです。

私はパスを作成しています:

Path2D.Double path = new Path2D.Double();
path.moveTo(0,0);
path.curveTo(5, 6, 23, 12, 45, 54);
path.curveTo(34, 23, 12, 34, 2, 3);

そしてそれを描く:

g2.draw(path);

trashgodが提案したように、 PathIteratorでテストしましたが、ユーザーがコントロールポイントを編集できるようにする場合、その方法で曲線を管理するのは困難です。

4

1 に答える 1

2

PathIteratorの各ポイントの座標の配列を参照するためのを取得できますShape。これらを使用して、編集時に曲線に沿ってサイズ変更ハンドルとコントロールポイントを描画できます。カスタムカーブの実装を使用した編集の例を次に示します。

于 2010-03-28T20:53:18.817 に答える