qt android png透明,Qt处理照片实现白色背景转透明

本文介绍如何使用Qt处理图片,将白色背景转换为透明PNG。通过逐像素检查并设置Alpha值,实现背景透明。代码示例中遇到的问题是原始图片格式不支持Alpha通道,最终通过创建新的QImage解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天在看《Qt5 Cadaques》,书是开源的,代码里用到的图片却不是。想照着书中的示例练一练,就自己找了几张图片。需要一个飞船,找了下面这张图片,但是需要处理成背景透明的png图片。windows画图做不到,以前貌似用ps做过,但是ps本身下载安装着实费事费力。忽然灵光一闪,为啥不自己写一个呢。ok,废话不多说了(就当是写日记了),Let's get it done.

工具: Qt

计划用时: 1h

首先需要一个QFileDialog打开图片,直接把帮助文档里的例子拿过来:

_fileName = QFileDialog::getOpenFileName(this,

tr("Open Image"), "/home/xinlei", tr("Image Files (*.png *.jpg *.bmp)"));

然后显示在一个QLabel里:

ui->label->setPixmap(QPixmap::fromImage(*_img));

加一个pushButton,点击后执行process()函数:

void ImgProcessor::on_pushButton_clicked()

{

process();

ui->label->setPixmap(QPixmap::fromImage(*_img));

}

这样,重点就是process()了

处理的大致思想就是,逐像素点遍历,对每个像素点进行判断,如果某像素点的(r,g,b)>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值