首页 > 其他分享 >QT 给图片添加一层颜色遮罩

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

时间:2023-10-13 22:14:35浏览次数:43  
标签:遮罩 QT originalImage 添加 图像 69 maskedImage QImage

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

 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 }

 

标签:遮罩,QT,originalImage,添加,图像,69,maskedImage,QImage
From: https://www.cnblogs.com/jiaxinyoudiansha/p/17763371.html

相关文章

  • 关于FISCO-BCOS如何进行节点扩容并添加到群组
    本节假设已经参照搭建第一个区块链网络搭建了一条n节点的联盟链,接下来的操作将生成一个新的节点,然后将节点加入群组1。......
  • 第三方IDE使用gdb调试Qt实现pretty print
      直接使用gdb调试Qt应用时,Qt的一些数据类型没法友好的显示出来,而qtcreator可以很好的展示出来,qtcreator也是通过gdb来调试的,在展示数据时,其实是gdb通过python脚本来处理后显示的,这些python脚本位于/usr/share/qtcreator/debugger这个位置(ubuntu20.04)。gdb在启动时,会自动在某......
  • winform窗口使用已经添加的图标
    1.项目属性窗口,选择资源,添加资源,选择想要导入的ico图标,设置好名字,如my.2.修改form窗口代码publicForm1(){InitializeComponent();this.Icon=Resources.ResourceManager.GetObject("my")asIcon;}3.如果程序也想用......
  • element表格的表头添加*星号
    vue怎么实现element表格里表头信息提示功能?第一、给el-table添加:header-cell-class-name<el-table:header-cell-class-name="func"></el-table>第二、在vue的methods中编写方法//给头部添加星星func(obj){letlist=['表头1','表头2','表头3','......
  • QT基础教程(QPalette和QIcon)
    (文章目录)前言本篇文章继续讲解QT中的知识,主要为大家讲解QPalette和QIcon。QPalette和QIcon都是Qt框架中用于图形界面设计的类,它们分别用于管理调色板和图标的相关功能。一、QPalette类QPalette(调色板)QPalette类用于管理和控制Qt应用程序的颜色方案,它定义了各种图形界......
  • QT部件透明阴影效果和透明窗体
      透明效果1.设置整个窗体透明调用setWindowOpacity()方法,传入一个0~1之间的值来表示透明度;1表示不透明,0表示完全透明,在构造函数中添加setWindowOpacity(0.5);//0~1之间2.设置窗体透明,部件不透明在构造函数中添加//设置窗体透明this->setAttribute(Qt::WA_Transluc......
  • QT--QString的arg方法
    在QT的QString中,arg方法类似于C中的printf中使用的格式输出符(只是有点类似)。在QT5的帮助文档中,可以看出以下几点:使用arg(str1,str2,str3)这种方法进行替换。使用arg(str1).arg(str2).arg(str3)这种方法进行替换。​使用arg(int, int, int)这种方式进行替换。解释......
  • 关于vscode编写qt,qdebug无法输出到终端的问题
    这个问题主要是cmake那边的qt设置没弄好。其中WIN32_EXECUTABLEON。这个选项要设置为OFF。不然qdebug无法打印到终端中。如果本来就没有这set_target_properties的话,可以在cmake最后一行加上这个,并且将WIN32_EXECUTABLEON设置为OFF即可。set_target_properties(appl......
  • Qt信号槽与事件循环学习笔记
    事件与事件循环信号槽机制事件与事件循环在Qt中,事件(event)被封装为QEvent类/子类对象,用来表示应用内部或外部发生的各种事情。事件可以被任何QObject子类的对象接收并处理。根据事件的创建方式和调度方式,Qt中事件可分为三类,分别是:自发事件(Spontaneousevent)由窗口系统(windo......
  • C# WinForm程序添加 CefSharp 发布后,双击无法打开(无反应)
    团队内将原来的企业微信弃用,启用飞书进行内部沟通。之前开发的内部工具(C#WinForm)是通过企业微信扫码登录验证身份,现在也需要变更飞书进行扫码验证。因此得重新对接飞书,所以在程序里加入了 CefSharp(谷歌内核)组件,版本号115.3.110.0。但是在功能实现后,发布给兄弟们用的时候......