2017-02-21 7 views
0

蛇行したパスを作成するために、さまざまな厚さの一連の直線セグメントがエンドツーエンドで接続されています。誰もが滑らかな蛇行の線、これをベクトル化のようなものとしてこれをペイントする方法を知っていますか?私はQPainterを使用しています。私はQPainterPathで適切な機能を見つけることができませんでした。Qt5で直線セグメントのパスをスムーズにペイントする

[(QPointF, width), (QPointF, width), (QPointF, width), ... ] 

ありがとう:

データは次のようになります!

EDIT:追加されました例の画像

私は創造的な応答に開いたままにしたかったのですが、私はちょうどスプライン補間に線形補間(QPainterの:: drawLine())から移動するために探しています。

Spline VS linear interpolation

+0

どうすればそのように見えるのでしょうか? – peppe

+0

編集 – patrickkidd

+0

を参照してください。ここには、コード例がなくても、これを概説する素晴らしいフォーラム記事があります:https://forum.qt.io/topic/76434/how-to-paint-smooth-rendering-of-connected-qlinef- s/8 – patrickkidd

答えて

0

私が正しくあなたの質問を理解していれば... は、右の厚さで、あなたのラインデータを囲む埋めポリゴンを描画し、線を引くしないでください。欠点:事前にデータの計算が必要です。

+0

ええと、私が求めていたものではありません。ポリゴンを塗りつぶして、私は非常に厚さが4ポイントで、線形補間と同じくらいスムーズになり、スプライン補間を探しています。 – patrickkidd

+0

あなたのコメントをもう一度読んで、私はあなたが誤解しているかどうか疑問に思っています。私は、各セグメントごとに4ポイントのポリゴンを使用することを提案していますか、ペンシルストローク全体に対して1つのポリゴンを使用することを提案していますか? 「塗りつぶされたポリゴン」に基づいて既存のスムージングアルゴリズムを使用する方向を指していましたか? – patrickkidd

関連する問題