当前位置: 首页 > news >正文

做此广告的网站河北住建城乡建设网站

做此广告的网站,河北住建城乡建设网站,扁平化企业网站,网页结构布局在我们开发过程中#xff0c;难免会遇到加载图片的问题#xff0c;在上一个开发项目里我就遇到了图片缩放的问题#xff0c;所以#xff0c;我决定将这一部分好好研究#xff0c;记录下来#xff0c;希望对大家有帮助哟~ 在讲解之前#xff0c;我们先看一看具体的展示效…在我们开发过程中难免会遇到加载图片的问题在上一个开发项目里我就遇到了图片缩放的问题所以我决定将这一部分好好研究记录下来希望对大家有帮助哟~ 在讲解之前我们先看一看具体的展示效果有没有你需要的功能如果有那就继续跟着我的思路走吧~ 功能实现 具体的功能分成了两类旋转、缩放 1图片加载 说到了图片旋转第一个需要讲述的功能是打开文件并加载图片资源。效果图右侧是采用QLabel控件进行图片加载。 打开文件并选择指定图片路径这个功能就不用再过多说明了前两章节文章都有进行说明只是采用了QFileDialog::getOpenFileName静态函数。 在图片加载功能中唯一需要说明的是QLabel加载图片资源代码如下 m_qsPicturePath qsFilePath; QImage img(qsFilePath); ui.labPng-setPixmap(QPixmap::fromImage(img)); 代码说明 qsFilePath读取出来的选择路径并将该字符串赋值给m_qsPicturePath进行记录。 为什么要将该路径进行赋值呢 对于后续不同的功能每改变一次都需要将QImage重新设置到QLabel控件中当前也可以采取QImage作为成员变量这里就随意了。 接下来就重点讲解旋转以及缩放这两个功能了。在Qt中实现二维转换功能有两种方式分别是QMatrix、QTransform两个类。 在书本上介绍的时候一般都是以QMatrix类为主实际上该类已经过时了提供它是为了保持旧源代码的工作并且强烈建议不要在新代码中使用它。 This class is obsolete.It is provided to keep old source code working. We strongly advise against using it in new code 在相同实现功能的方式下一般会采用QTransform类进行实现的。在Qt中QTransform是推荐的转换类。 QTransform与QMatrix的区别 它是一个真正的3x3矩阵允许透视变化。 QTransform的toAffine()方法允许将QTransform转换为QMatrix如果在矩阵上指定了透视图转换那么转换将导致数据丢失。 2旋转 首先我们先讲述下旋转功能是如何实现的。 在这个demo中分别进行了4个角度的旋转0°、90°、180°、270° 无论是哪个角度进行转换都采用QTranform::rotate函数实现的。 代码展示 QTransform transform; transform.rotate(0); QImage img(m_qsPicturePath); img img.transformed(transform); ui.labPng-setPixmap(QPixmap::fromImage(img)); 代码解析 QTransform::rotate()围绕指定轴逆时针旋转给定角度的坐标轴并返回对矩阵的引用。 当前的旋转角度是°大家在使用的时候可以根据自己的角度自行设置只需要修改rotate的参数就可以了参数角度是用度数表示的。 有一点需要注意的是如果将QTransform用于小部件坐标中定义的点旋转方向将是顺时针的因为Y轴指向下方。 既然提到了QMatrix类那么使用该类是如何实现的呢 QMatrix matrix; matrix.rotate(90); QImage img(m_qsPicturePath); img img.transformed(matrix); ui.labPng-setPixmap(QPixmap::fromImage(img)); 3缩放 代码展示 QTransform transform; transform.scale(2, 2); QImage img(m_qsPicturePath); img img.transformed(transform); ui.labPng-setPixmap(QPixmap::fromImage(img)); 代码解析 QTransform::scale()水平方向按sx和垂直方向按sy缩放坐标系统并返回对矩阵的引用。 对于scale的参数可以简单的理解想要实现放大功能参数大于1想要实现缩放功能参数小于1 当前例子代码对图片进行了两倍放大假设要是缩放只需要设置成transform.scale(0.5, 0.5); 注意当参数是(1,1)时说明图片既没有放大也没有缩小。 QMatrix的调用方式一致只是类名换了调用的参数名都是一致的转换角度那里已经写明了使用方式这里就不再过多说明了。因为QMatrix是Qt中遗弃掉的功能以后大家都使用QTransform类就可以了。 总结 到这里旋转缩放的功能就已经实现了。 在这个小demo中难度不大最值得记录的是使用哪个类进行操作在Qt中QTranform的是被推荐的只要好好读懂类参数就能实现简单的图形转换操作如果有想要了解这两个类的详细说明的下面我会把链接贴出来具体的函数操作大家可以自行学些 QTransform类详情 QMatrix类详情 我是糯诺诺米团一名C开发程序媛~
http://www.zqtcl.cn/news/956581/

相关文章:

  • 中企动力建站怎么样网站建设与设计的心得体会
  • 打开网站出现directoryj2ee做网站
  • 如何建设一个视频网站西安个人做网站
  • wordpress站群教程市场营销培训课程
  • 17网站一起做网店白沟简单网页制作图片
  • 网站建设项目需求分析流程做商业地产的网站
  • 百度建站商业网点的定义
  • 古镇建设网站经济研究院网站建设方案
  • 会员网站开发百度自己的宣传广告
  • 重庆网络推广网站推广自己设计图纸的软件
  • 国内免费的短视频素材网站什么网站做博客好
  • 个体户网站建设wordpress修改作者链接
  • 做企业网站怎么样如何做网站的登录注册
  • 网站建设中标怎么做网站文字图片
  • 济南网站推广徽hyhyk1公司展示网站模板
  • ae免费模板下载网站视频网站数据库设计
  • 找做金融的网站网站建设方面存在的问题
  • 门户网站建设与开发wordpress添加文章总数标签总数
  • 想创办一个本地的人才招聘网站_如何做市场调查问卷windows7优化大师下载
  • 做网站建设要什么证视频付费网站建设
  • html网站建设实例代码软件下载app排行榜
  • 高端个人网站网站建设密码
  • 全网seo秦皇岛市做网站优化
  • 简述站点推广有哪些方式大兴做网站公司
  • 网站关键词密度查询太仓网站设计早晨设计
  • 厦门市同安区建设局官方网站永嘉网站建设
  • 工程师网站建设网页设计与制作基础教程答案
  • php 开发手机网站建设互动平台抽手机
  • 网站 被降权网页平面设计要学什么
  • 团购网站短信平台中国建设银行网站客户注册码