Java(JPenライブラリロック)を使用してタブレットからデータをキャプチャしていますが、より自然な方法でペンストロークをペイントできるようにしたいと考えています。
現在、ペンのストロークを、それぞれ異なるストロークの太さの直線セグメントとして描画しています。
Javaのグラフィックライブラリには、これをより効率的に行うための何かが必要です。
右?
私はこれをやったことがありませんが、試してみることができるいくつかのことがあります。まず、細い台形を作成するカスタムストロークを実装できます。エンド キャップの幅は、エンド ポイントでの圧力の関数になります。それが機能する場合は、ベジエ曲線を使用して「曲線の台形」を形成することにより、線分をより自然に見せることができます。QuadCurve2Dを使用して支援できる場合があります。
少なくとも、より一般的な解決策があります。この機能は、最近のアルゴリズムに基づいて Inkscape に追加されました。いくつかのスクリーンショットで、問題に直接適用されていることがわかります。たとえば、ペイントブラシを模倣するためにパスに沿って任意の形状ブラシを押し出すことができますが、最初のリンクのアルゴリズムまたは Inkscape ソースから Java に移植する必要があります。また、特許で保護されているため、コードを GPL の下でリリースする (作成者が明示的な許可を与える) か、特許ライセンスを購入する必要があります。
PostScript RIPは、多くの場合、円を曲線に変換し、曲線を一連の直線セグメントに変換します。セグメントの数は、ラスター表示の解像度に適したデフォルトの平坦度設定によって異なります。
太い線または太い線分は、細い塗りつぶされたポリゴンに変換できます。