将QImage转化为半透明的效果

之前项目上的需要,中间用到了把QImage变成半透明的效果,

当时查了一些资料,为了防止遗忘,就在博客中记录了下来。
 

下面是代码:

//将QImage转化为半透明的效果
QPixmap ChangeQImageBackTransparency(QString path)
{
	QImage *img = new QImage;
	img->load(path);
	QPixmap pix = QPixmap::fromImage(*img);
	QPixmap tmpPix(pix.size());
	tmpPix.fill(Qt::transparent);
	QPainter p1(&tmpPix);
	p1.setCompositionMode(QPainter::CompositionMode_Source);
	p1.drawPixmap(0, 0, pix);
	p1.setCompositionMode(QPainter::CompositionMode_DestinationIn);
	//200表示透明度,数值0表示完全透明,数值255表示不透明
	p1.fillRect(tmpPix.rect(), QColor(0, 0, 0, 200));
	p1.end();
	delete img;
	return tmpPix;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值