2013-07-25 60 views
3

我已经能够绘制长的透明曲线与QPainterPath,所以我不会得到重叠的不透明度的关节,这将导致像Scribble点之间的连接线。但是有没有一种方法可以让Qt中的连续透明度融合如下: enter image description hereQt:绘制混合透明线/曲线/路径

+0

我希望会有一个很好的回答这个问题。 – dani

回答

0

我怀疑最令人满意的解决方案是自己渲染笔触。例如,您张贴的图像通过绘制大量半透明的圆圈来呈现。这可以通过将大量椭圆渲染到QImage上进行优化,然后再绘制预渲染图像以节省时间。

0

有了这个question/answer的帮助下,我写了这个代码,没有工作:

/* 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);