QT 给图片添加一层颜色遮罩

最近公司需求,在一张带有透明度的图片上增加一层颜色遮罩,记录一下。

复制代码
 1 #include <QImage>
 2 #include <QPainter>
 3 
 4 int main() {
 5     // 行数 5
 6     // 加载原始图像
 7     QImage originalImage("path/to/your/image.png");
 8 
 9     // 行数 9
10     // 创建与原始图像相同尺寸和格式的新图像
11     QImage maskedImage(originalImage.size(), QImage::Format_ARGB32);
12 
13     // 行数 13
14     // 设置要使用的颜色遮罩
15     QColor overlayColor(69, 69, 69, 100);  // 灰色,100% 不透明度
16 
17     // 行数 17
18     // 填充新图像为透明
19     maskedImage.fill(Qt::transparent);
20 
21     // 行数 21
22     // 创建一个 QPainter 以在新图像上绘制
23     QPainter painter(&maskedImage);
24 
25     // 行数 25
26     // 绘制原始图像
27     painter.drawImage(0, 0, originalImage);
28 
29     // 行数 29
30     // 应用颜色遮罩
31     painter.fillRect(maskedImage.rect(), overlayColor);
32 
33     // 行数 33
34     // 将生成的遮罩图像保存到文件
35     maskedImage.save("path/to/save/masked_image.png");
36 
37     // 行数 37
38     return 0;
39 }
复制代码

 

posted @   佳欣有点傻  阅读(262)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示