2013-07-25 48 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);