Qt 旋转图片中心不偏移_qt 旋转矩形-程序员宅基地

技术标签: QT  qt  

static int m = 0;
m = m +1;
QPixmap pix;
pix.load(":/res/zhizhen.png");
int c = pix.height()/2;
QMatrix mt1;
mt1.translate(c,c);  //先将矩阵移到图片中心
mt1.rotate(m);        //旋转矩阵
mt1.translate(-c, -c); //将矩阵移回

QPixmap p = pix.transformed(mt1, Qt::SmoothTransformation);
int w = qMin(pix.width(), pix.height());
QRect cube(0, 0, w, w);
cube.move(QPoint(p.rect().center()));
p = p.copy(cube);
ui->needle->setPixmap(p);

核心思想的主要操作步骤

  1. 定义一个以图片中心旋转m值角度的矩阵mt1
  2. 先将图片按mt1矩阵旋转。
  3. 定义一个和旋转前长或者宽相同的正方形
  4. 由于旋转后图片的宽和高发生了变化,所以要将正方形的中心移到 变换后的图片的中心。
  5. 拷贝出变换后的图片中心区域图片。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wqs880527/article/details/114520069

智能推荐

Spring如何用“声明式事务”保护亿万数据安全?【万字解决并发冲突】_声明式安全-程序员宅基地

文章浏览阅读887次,点赞59次,收藏26次。Hello,你好呀,我是灰小猿,一个超会写bug的程序猿????!用坚持缔造技术、用指尖敲动未来!愿我们每一次敲动键盘,都能让生活变得更智能、世界变得更有趣!点外卖时,你只需考虑如何拼单;选择出行时,你只用想好目的地;手机支付时,你只需要保证余额充足。但你不知道这些智能的背后,是数以亿计的强大数据的支持,这就是数据库的力量。那么庞大数据的背后一定会牵扯到数据安全的问题,那这些意外和冲突又是如何解决的呢?今天我们来一探究竟????!今天这篇文章,我就来和大家讲一下在Spring框架的声明式事务中_声明式安全

hibernate连接多个数据库_winform hibernate-configuration 项目加载多个数据库-程序员宅基地

文章浏览阅读5.1k次。本文转自自http://blog.sina.com.cn/s/blog_49bf8585010004m6.html一、 Hibernate访问数据库时加载的过程对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration()._winform hibernate-configuration 项目加载多个数据库

【Java核心面试宝典】Day6、面向对象常见面试题汇总(一)-程序员宅基地

文章浏览阅读1.2k次,点赞23次,收藏5次。Hello,你好呀,我是灰小猿!一个超会写bug的程序猿!用坚持缔造技术、用指尖敲动未来!和很多小伙伴们一样,我也是一名奔波在Java道路上的“创造者”。也想靠技术来改未来,改变世界!因为我们坚信每一次敲动键盘都能让生活变得更智能、世界变得更有趣!在此专栏《Java核心面试宝典》记录我们备战梦想的【day 6】!今天来和小伙伴们记录有关于面向对象的一些面试题,一部分是LeetCode上比较经典且最常见的面试题。一、面向对象和面向过程的区别有哪些?分别有什么优缺点?面向过程是将问题分解成步骤.

springboot实现License证书的授权和许可到期验证_license授权-程序员宅基地

文章浏览阅读1.2w次,点赞8次,收藏63次。在客户服务器部署软件项目后,为了项目版权管控或者对项目进行授权收费处理的,就需要实现项目的授权和许可验证。在这里讲解的是使用 license证书 的形式实现授权和许可验证(已通过测试)。主要是通过IP地址、MAC地址、CPU序列号、主板序列号服务器硬件信息生成一个License证书,同时可以设置生效时间与失效时间,控制项目到期之后项目不可用。_license授权

c++操作Excel_c++ excel-程序员宅基地

文章浏览阅读2.3k次。[cpp] view plain copy 理论性的东西就是不讲了,简单的就是用微软提供的组件来操作excel。我们先看看如何添加相关组件。 1.进入类导向对话框:2.点击下拉菜单“添加类”,选择“类型库中的MFC类‘3.相关的类行库可以从注册表中找,你选择一个”可用类行库“,向导会自动显示它的接口。_c++ excel

机器学习基础 5:无约束最优化方法——线搜索_机器学习基础 5:无约束最优化方法——线搜索-程序员宅基地

文章浏览阅读1k次,点赞4次,收藏7次。基础知识 在开始介绍优化方法之前,我们先介绍一些基础知识泰勒级数f(x)=f(a)0!+f′(a)1!(x−a)+f′′(a)2!(x−a)2+...+fn(a)n!(x−a)n+Rn(x) f(x)=\frac{f(\mathbf{a})}{0!}+\frac{f'(\mathbf{a})}{1!}(x-\mathbf{a})+\frac{f'&am..._机器学习基础 5:无约束最优化方法——线搜索

随便推点

大众点评数据分析_大众点评全国美食数据分析-程序员宅基地

文章浏览阅读5.6k次,点赞6次,收藏45次。大众点评数据分析项目完整流程(一)项目背景在大学的时候,每天都要面对一个世纪难题所困扰,那就是:中午吃什么?晚上吃什么?于是乎突发奇想,就想要统计一下全国一二线城市美食店的总体水平,吃不到也要看看别人家的餐桌摆的都是什么,哪些精品餐厅我还不知道,酒香不怕巷子深,我要把你们统统挖出来。(二)项目介绍本项目主要是对大众点评中全国范围内一二线城市美食信息进行分析,暂时不考虑其它线的城市。整个项目..._大众点评全国美食数据分析

万字长文爆肝Python基础入门【第二弹、超详细数据类型总结】_>>> letters=['a','b', 'c', 'a'] >>> letters. remov-程序员宅基地

文章浏览阅读6.9k次,点赞129次,收藏490次。目录一、建立一个数据火车——列表1、创建列表2、列表元素的获取3、列表元素的添加4、列表元素的删除5、列表元素的修改二、列表的亲兄弟——元组1、创建元组2、元组元素的获取3、元组和列表的差别三、数据中的魔术师——字符串1、创建字符串2、字符的获取3、字符串的处理4、字符转义5、原始字符串6、多行字符串7、列表、元组、字符串的通用操作8、列表、元组、字符串总结四、索引存储不再麻烦——字典1、创建字典2、字典键值对的添加_>>> letters=['a','b', 'c', 'a'] >>> letters. remove('a') >>> print(letters)

编写一个程序,输入a、b、c三个值,输出其中最大值。_本关任务:编写一个程序,输入a、b、c三个整数,输出其中最大值。-程序员宅基地

文章浏览阅读2.2k次。1002:编写一个程序,输入a、b、c三个值,输出其中最大值。include <stdio.h>int main(){int arr[3], max, i;for (i=0; i<3; i++){ scanf("%d", &arr[i]);}max = arr[0];for (i=1; i<3; i++){ if (arr[i] > max) { max = arr[i]; }}printf_本关任务:编写一个程序,输入a、b、c三个整数,输出其中最大值。

Beta分布(概率的概率)-程序员宅基地

文章浏览阅读1.2w次,点赞4次,收藏27次。目录1.前言2.定义3.Beat分布的概率密度函数(PDF):4.Beat分布的累积密度函数(CDF):1.前言伯努利试验(同样的条件下重复地、相互独立地进行的一种随机试验,其特点是该随机试验只有两种可能结果:发生或者不发生)频率学派的观点(出现次数最多的情况体现了概率的分布),体现了后验Gamma函数:阶乘在实数域的推广。2.定义对于掷硬币或投色子这样的简单模型,我们可以预先明确概率分布情况。但普遍情况下,无法准确得知系统的概率分布。根据频率学派的观点._beta分布

深入理解JWT的使用场景和优劣_jwt的使用场合与优点-程序员宅基地

文章浏览阅读238次。编码,签名,加密这些基础知识简单地介绍下,千万别搞混了三个概念。在 jwt 中恰好同时涉及了这三个概念,笔者用大白话来做下通俗的讲解(非严谨定义,供个人理解)编码(encode)和解码(decode)一般是编码解码是为了方便以字节的方式表示数据,便于存储和网络传输。整个 jwt 串会被置于 http 的 Header 或者 url 中,为了不出现乱码解析错误等意外,编码是有必要的。在 jwt..._jwt的使用场合与优点

[转]关于C语言_%jx-程序员宅基地

文章浏览阅读1.7k次。C语言 (维基百科,自由的百科全书)C,是一种通用的程序设计语言,它主要用来进行系统程序设计。具有高效、灵活、功能丰富、表达力强和移植性好等的特点,在程序员中备受青睐。C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年研制出的B语言的基础上发展和完善起来的。C语言可以广泛应用于不同的操作系统,例如UNIX、MS-DOS、M_%jx