3

Qt を使用して、QPainterPath を使用して曲線と弧を描くことができるパイプのように見えるものを描画しています。QLinearGradient を使用してパイプを塗りつぶし、3 次元の外観にします。私が理解できないのは、3D効果が残るように、パイプを曲線/円弧にし、勾配を同じ曲線に沿わせる方法です。何かご意見は?

つまり、QGradient のカラー ストップは、パス内の曲線に沿って回転する必要があります。

4

1 に答える 1

0

qtの例からわかる限り、パスを埋めるグラデーションはすべて同じです。したがって、パスよりも素敵なグラデーションを定義し、次のようなコードを使用してグラデーションをすべての図形に追加します。

QLinearGradient myGradient;
QPen myPen;

QPainterPath myPath;
myPath.cubicTo(c1, c2, endPoint);

QPainter painter(this);
painter.setBrush(myGradient);
painter.setPen(myPen);
painter.drawPath(myPath);

最も難しい部分は、滑らかに動くパイプを定義することです...問題を確認できるように、コードを共有していただけますか?

于 2012-10-19T11:06:39.003 に答える