QPainterPath
パスの内側または外側の端(または閉じていないパスの場合は左側または右側)でのみパスをストロークするにはどうすればよいですか?
QPainter::strokePath()
パスに沿ってペンを中央に配置し、同じ量のインクを両側に落とします。望ましい効果の視覚的な例については、私が作成したこのグラフィックを参照してください(SVGの提案であり、機能ではありません)。
これが、パス自体をクリッピング領域(内側の場合)またはアンチクリッピング領域(外側の場合)として設定するなどのハックによって行われるかどうかは気になりません。
ここでの目標は、丸みを帯びた長方形を不透明度の低い塗りつぶしで塗りつぶしてから、そのすぐ外側を不透明度の低いストロークでストロークして、2段階の「ぼかし」フォールオフをシミュレートすることです。ストロークが塗りつぶしと重なると、不透明度が2倍になり、効果が損なわれます。形状が複雑なため、上に描いた円や長方形では機能する場合でも、パスの単純なスケーリングは適切に機能しません。