【QT】使用QPainter类drawImage函数绘制透明图片的问题
【QT】使⽤QPainter类drawImage函数绘制透明图⽚的问题今天这个问题纠结了我好久,后来终于到了解决⽅法。
QT显⽰图⽚⼀般使⽤QLabel对象,然后setPixmap将图⽚显⽰出来,之前要做这么⼀个⼯作,直接上代码。
QImage sourceImage(strImageFile);//sourcefile为⽂件名,⽂件格式为PNG
初级会计职称报名QImage *subImg = new QImage(width,height,QImage::Format_ARGB32);
QPainter p(subImg);
梦见和别人吵架是什么预兆p.setCompositionMode(QPainter::CompositionMode_Source);//注意这⼀⾏代码
p.drawImage(0,0,sourceImage,x,y,width,height);世界历史文化名城>情侣头像大全2013最新版的
m_pLabel = new QLabel;
m_pLabel->setMinimumWidth(600);
m_pLabel->setPixmap(QPixmap::fromImage(*subImg));
显示器突然黑屏
上⾯标注要注意的这⾏代码起初⼀直没有加上,因此导致画出来的图⽚,明明应该是透明的,总是会出现莫名其妙的花点,后来加上这⾏代码之后就好了。
2023年躲春的属相QT⽂档上如此解释这个属性,说⽩了就是复制,当原图⽚不是透明时,与SourceOver属性效果相同
The output is the source pixel. (This means a basic copy operation and is identical to SourceOver when the source pixel is opaque).

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。