Qt PNG 背景透明


本文主要是解決Qt中QGraphicsAbstractShapeItem,QPixmap,QPainter等組件的透明化顯示問題。

在Qt中定義了一個常量,用於設置透明的顏色,即Qt::transparent,表示RGBA值為(0,0,0,0)的透明色。

在QGraphicsAbstractShapeItem的集成類中,可以把某些部分畫成Qt::transparent來設置透明。

在QPainter中,可以通過setBackgroundMode()選擇兩種不同的背景模式,一種是Qt::TransparentMode,另外一種是Qt::OpaqueMode。在Qt::TransparentMode模式下,背景本身就是透明的,此時QPainter的setBackground()函數不起作用;在Qt::OpaqueMode模式下,通過QPainter的setBackground()函數來設置QPainter類對象的背景色,在此模式下,也可以設置背景色為Qt::transparent。

有時,我們要把QPainter畫到QPixmap中以防止閃爍。如果需要設置QPixmap的透明,可以先用QPixmap的fill()函數先把場景設置成透明的(fill(Qt::transparent) )。

QImage::fill ( uint pixelValue)
試試用這個填充透明色。

theImage.fill(qRgba(255,255,255,0));

 

http://www.cnblogs.com/cainiaoaixuexi/p/3238092.html

http://blog.csdn.net/u012234115/article/details/43778855

http://blog.csdn.net/yiyaaixuexi/article/details/6362865

http://www.qtcn.org/bbs/simple/?t54707.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM