3

QPainterPath を使用して長い透明な曲線を描くことができたので、Scribble のようにポイント間の線を結ぶ結果となる不透明ジョイントが重なり合うことはありません。しかし、パスをQt自体で連続的な透明度をブレンドさせる方法はありますか: ここに画像の説明を入力

4

2 に答える 2

0

視覚的に最も満足できる解決策は、ストロークを自分でレンダリングすることだと思います。たとえば、投稿した画像は、部分的に透明な円を多数重ねて描画したものです。これは、多数の楕円を QImage にレンダリングし、後で事前にレンダリングされた画像を描画して時間を節約することで最適化できます。

于 2013-07-25T04:29:07.623 に答える
0

この質問/回答の助けを借りて、私は仕事をするこのコードを書きました:

/* Start and end point. */
const QPointF start{ 0,0 };
const QPointF end{ 100,100 };

QGraphicsLineItem line{ QLine(start, end) };

/* Make the Gradient for this line. */
QLinearGradient gradient(start, end);
QColor color(123, 123, 231); //some color
color.setAlphaF(0.9); //change alpha
gradient.setColorAt(0, color);
color.setAlphaF(0.1); //change alpha again
gradient.setColorAt(1, color );

/* Set the line's pen. */
QPen pen(QBrush(gradient), 10);
line.setPen(pen);
于 2016-05-16T17:01:21.987 に答える