Qt 非圆角图片裁剪为圆角图片

将Qt非圆角图片裁剪为圆角图片,步骤如下:

        1、按照原始图片尺寸定义一张透明的新图形

        2、使用画家工具在新图形上绘制一个圆角矩形线路

        3、绘制图片

        4、使用圆角矩形切割图片边角

封装成函数如下:

        

QPixmap Widget::getRoundedPixmap(const QPixmap srcPixmap, const int radius)
{// 目标图片尺寸QSize desSize = srcPixmap.size();// 新建一个目标大小的画布QpixmapQPixmap desPixMap(desSize);// 填充透明色作为背景desPixMap.fill(Qt::transparent);//以QPixmap 为绘画背景进行画笔绘制QPainter painter(&desPixMap);painter.setRenderHints(QPainter::Antialiasing); //抗锯齿painter.setRenderHints(QPainter::SmoothPixmapTransform); //平滑像素图变换QPainterPath path;//绘制路径//绘制圆角矩形,其中最后两个参数值的范围为(0-99),就是圆角的px值path.addRoundedRect(0, 0, desSize.width(), desSize.height(), radius, radius);// 将绘制的圆角矩形路径中内容进行裁剪painter.setClipPath(path);//将图片绘制到desPixmap中,IgnoreAspectRatio忽视图片比例painter.drawPixmap(0, 0, desSize.width(), desSize.height(), srcPixmap.scaled(desSize, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation));painter.setClipping(false); // 关闭裁剪return desPixMap;
}

使用案例:

// 原始的图片
QPixmap originImg = QPixmap(":/111.png");QPixmap destImg = getRoundedPixmap(originImg,16);ui->label->setPixmap(destImg);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue引入element-plus-04

我们这次开发是使用vue的脚手架来进行开发,前面我们已经使用过最原生的方式去编写我们的vue的语法,从今天开始就使用vue的脚手架,但是前提是你需要用于node的环境 在我们开始之前,我们至少需要有node npm是什么? npm是一个强大的包管理工具,它…

Halcon 多相机统一坐标系

小杨说事-基于Halcon的多相机坐标系统一原理个人理解_多相机标定统一坐标系-CSDN博客 一、概述 最近在搞多相机标定等的相关问题,对于很大的场景,单个相机的视野是不够的,就必须要统一到一个坐标系下,因此我也用了4个相机&#…

人工智能ChatGPT的多种应用:提示词工程

简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达的越清晰,给到的信息越多,那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理,如果想要 …

推荐系统三十六式学习笔记:原理篇.矩阵分解10|那些在Netflix Prize中大放异彩的推荐算法

目录 缘起矩阵分解为什么要矩阵分解1 基础的SVD算法2 增加偏置信息3 增加历史行为4 考虑时间因素 总结 我们先前聊过推荐系统中的经典问题,其中有一类就是评分预测。平心而论,评分预测问题只是很典型,其实并不大众。毕竟在实际的应用中&#…

最新情侣飞行棋高阶羞羞版,解锁私密版情侣小游戏,文末有福利!

今天要跟大家聊聊一种特别有意思的游戏——情侣飞行棋羞羞版。别急着脸红,这可是专为情侣设计的游戏,让你们在轻松愉快的氛围中,增进了解,加深感情。 谈恋爱,不就是两个人在一起,做些有趣的事情吗&#xf…

Opus从入门到精通(七)Opus编码基础之认识声音

Opus从入门到精通(七)Opus编码基础之认识声音 前面我们分析完Opus的编解码api使用,封装原理等,接下来我们准备分析Opus编码原理.Opus编码是一个复杂的工作,我们需要做一些基本铺垫,包括认识声音,压缩编码基础. 认识音频有助于我们了解音频特征,不仅对语音有助于我们理解编码技…

2021年9月电子学会青少年软件编程 中小学生Python编程等级考试三级真题解析(判断题)

2021年9月Python编程等级考试三级真题解析 判断题(共10题,每题2分,共20分) 26、readline()执行结果为字符串,readlines()执行结果为列表 答案:对 考点分析:考查文件读操作,readli…

【leetcode--同构字符串】

要求:判断两个字符串的形式是不是一致,即是不是AABC或者ABBBCC这种。 trick:使用set()结合zip()。 set()用法:用于创建一个不包含重复元素的集合 zip&#…

环保绩效评级:ABCD四个等级,你的企业处于哪个水平?

在当下社会,环保问题越来越受到人们的关注和重视。企业作为经济活动的重要参与者,其环保绩效评级直接关系到环境保护的成效。朗观视觉将详细解析环保绩效评级的ABCD四等级,帮助读者了解不同等级的特点和评判标准,进而引导企业提高…

大模型扫盲系列——初识大模型

本文将从大模型的原理、训练过程、prompt和相关应用介绍等方面进行分析,帮助读者初步了解大模型。 近年来,随着计算机技术和大数据的快速发展,深度学习在各个领域取得了显著的成果。为了提高模型的性能,研究者们不断尝试增加模型…

MySQL损坏,使用data恢复数据

MySQL损坏,重装MySQL使用data文件恢复数据库 1.清空相关注册表(清空安装残留)2.下载合适MySQL版本(与损坏数据库版本相同)3.数据恢复4.Windows server MySQL备份bat5.设置Windows定时执行 # 初始化安装 mysqld -install# 查看数据初始化密码 mysqld --initialize --…

工业 UI 风格,展现独特魅力

工业 UI 风格,展现独特魅力

Mysql之不使用部署在k8s集群的Mysql而是选择单独部署的Mysql的原因

测试准备: 线程组:并发数100,持续时间2min 两个请求:使用k8s集群中的mysql的wordpress对应端口30011 使用单独部署的mysql的wordpress的对应端口为30022 访问同一个博客 测试结果: 汇总报告: 响应时间图&…

HTML静态网页成品作业(HTML+CSS+JS)——游戏天天酷跑网页(4个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,使用Javacsript代码实现图片切换轮播,共有4个页面。 二、…

Linux---系统的初步学习【 项目二 管理Linux文件和目录】

项目二 管理Linux文件和目录 2.1项目知识准备 ​ 文件是存储在计算机上的数据集合。在Windows系统中,我们理解的文件可以是文本文档、图片、程序、音乐、视频等。在Linux中,一切皆文件,也就是除了Windows中所理解的文件,目录、字…

xgo 原理探索

Go 单测 mock 方案 Mock 方法原理依赖优点缺点接口 Mock为依赖项定义接口,并提供接口的 Mock 实现。需要定义接口和 Mock 实现。灵活,遵循 Go 的类型系统;易于替换实现。需要更多的样板代码来定义接口和 Mock 实现。Monkey Patching&#xf…

NOSQL -- ES

第三个我们比较常用的NOSQL类型的数据库 --- ES 介绍: ES的全称(Elasticsearch) ES是一个分布式全文搜索的引擎 也就是我们平常在购物, 搜索东西的时候常用的, 就是一个ES的类型, 分布式全文搜索引擎 查询原理: 1>分词: 在查询之前, 其会将一些数据拆分开, 按照词进行拆分…

day54 动态规划 part10 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

300.最长递增子序列 动规五部曲 1.dp[i]的定义 dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 2.状态转移方程 位置i的最长升序子序列等于j从0到i-1各个位置的最长升序子序列 1 的最大值。 所以:if (nums[i] > nums[j]) dp[i] max(dp[i], dp…

样本学习:当AI遇上“少见多怪”

东汉名臣牟融在其著作《牟子》写道:“少所见,多所怪,睹橐驼,谓马肿背。”意思是见闻少的人遇到不常见的事物就觉得奇怪,见到骆驼也以为是背肿了的马。因此,后人总用“少见多怪”来嘲笑见识浅陋的人。然而&a…

七个备受欢迎的IntelliJ IDEA实用插件

有了Lombok插件,IntelliJ就能完全理解Lombok注解,使它们能如预期般工作,防止出现错误,并改善IDE的自动完成功能。 作为IntelliJ IDEA的常用用户,会非常喜欢使用它,但我们必须承认,有时这个IDE&…