0

Manga Studioのような一部のペイントプログラムには、ストロークの終わりのポイントまで先細になるブラシが含まれています。これをどのように実装できるかについていくつかのアイデアがありますが、私には問題がある/非効率的だと思われます... Googleでこのタスクに関する情報を見つけることができなかったので、ここで質問したいと思いました。

AWTでテーパーストロークを作成するためのアルゴリズムを知っている人はいますか?

私が理解する必要があるのは、たとえば(x50、y50)-(x37、y20)-(x47、y10)などのマウスイベントからすでに持っているマウス座標をPath2D.curveTo()などの引数に変換する方法です。自然。ストロークを先細にするための計算はどのように行いますか?(かなりの量の数学なしでこれを行う方法があるとは思いません...私は間違っている可能性があると思いますが。)

ありがとう!

編集:ユーザーはこのストロークを使用して画像にフリーハンドで描画できることに注意してください。つまり、ストロークの側面はユーザーのペンと一致するように湾曲している必要があります。

4

1 に答える 1

1

Polygon良い選択です。ここに示すように、Shapeインターフェースを実装しているので、利用可能です。こことここに示すように、オブジェクトを回転、移動、または拡大縮小するために適用できます。例は、パフォーマンスを判断するのに役立つ場合があります。createStrokedShape()AffineTransform

補遺:私は試していませんArc2Dが、を回転させる代わりの合理的な方法かもしれませんPolygon。関連するQuickDrawプリミティブは、かつて由緒あるMacDrawに矢じりの独特の形を与えました。

于 2011-09-14T20:56:56.613 に答える