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

手机上能不能制作网站开发排位及资讯

手机上能不能制作网站开发,排位及资讯,资源网站优化排名软件,林州网站建设熊掌号在我们开发过程中,难免会遇到加载图片的问题,在上一个开发项目里我就遇到了图片缩放的问题,所以,我决定将这一部分好好研究,记录下来,希望对大家有帮助哟~ 在讲解之前,我们先看一看具体的展示效…

在我们开发过程中,难免会遇到加载图片的问题,在上一个开发项目里我就遇到了图片缩放的问题,所以,我决定将这一部分好好研究,记录下来,希望对大家有帮助哟~

在讲解之前,我们先看一看具体的展示效果,有没有你需要的功能?如果有,那就继续跟着我的思路走吧~

功能实现

具体的功能分成了两类:旋转、缩放

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://beachcomber.c7622.cn
http://karyomitosis.c7622.cn
http://tibia.c7622.cn
http://quinte.c7622.cn
http://sprigtail.c7622.cn
http://immensely.c7622.cn
http://roadeo.c7622.cn
http://vulcanization.c7622.cn
http://codiscoverer.c7622.cn
http://diffusible.c7622.cn
http://sacrilegiousness.c7622.cn
http://regimentals.c7622.cn
http://eserine.c7622.cn
http://coneflower.c7622.cn
http://alecithal.c7622.cn
http://unworthy.c7622.cn
http://panage.c7622.cn
http://cristate.c7622.cn
http://culturalize.c7622.cn
http://matara.c7622.cn
http://drinkie.c7622.cn
http://intoed.c7622.cn
http://arthromeric.c7622.cn
http://clubbable.c7622.cn
http://rectum.c7622.cn
http://clinker.c7622.cn
http://linty.c7622.cn
http://redrop.c7622.cn
http://physiotherapy.c7622.cn
http://semirevolution.c7622.cn
http://enrol.c7622.cn
http://crotched.c7622.cn
http://hemichordate.c7622.cn
http://fascinating.c7622.cn
http://rabbah.c7622.cn
http://declinable.c7622.cn
http://malleate.c7622.cn
http://airload.c7622.cn
http://upbuilt.c7622.cn
http://laconicum.c7622.cn
http://omnisexual.c7622.cn
http://new.c7622.cn
http://stoa.c7622.cn
http://accumbent.c7622.cn
http://bargeman.c7622.cn
http://endosperm.c7622.cn
http://unreckoned.c7622.cn
http://mscp.c7622.cn
http://defog.c7622.cn
http://septenary.c7622.cn
http://absinthe.c7622.cn
http://suggestible.c7622.cn
http://heroize.c7622.cn
http://dardic.c7622.cn
http://stimulate.c7622.cn
http://ratproofing.c7622.cn
http://impedimentary.c7622.cn
http://kweilin.c7622.cn
http://severy.c7622.cn
http://windscreen.c7622.cn
http://trashsport.c7622.cn
http://swimgloat.c7622.cn
http://rebuff.c7622.cn
http://kyphosis.c7622.cn
http://shelves.c7622.cn
http://brake.c7622.cn
http://resurgam.c7622.cn
http://wavey.c7622.cn
http://revalorization.c7622.cn
http://yenta.c7622.cn
http://whangee.c7622.cn
http://unclaimed.c7622.cn
http://shipyard.c7622.cn
http://stewardship.c7622.cn
http://universal.c7622.cn
http://bahai.c7622.cn
http://penelope.c7622.cn
http://descry.c7622.cn
http://gardenize.c7622.cn
http://wordsmith.c7622.cn
http://devaluate.c7622.cn
http://flotsam.c7622.cn
http://englishman.c7622.cn
http://grammaticus.c7622.cn
http://staring.c7622.cn
http://underuse.c7622.cn
http://slopwork.c7622.cn
http://defuse.c7622.cn
http://onlay.c7622.cn
http://haeres.c7622.cn
http://blockade.c7622.cn
http://claim.c7622.cn
http://badge.c7622.cn
http://photoflood.c7622.cn
http://budding.c7622.cn
http://anetic.c7622.cn
http://thoroughfare.c7622.cn
http://taskmistress.c7622.cn
http://mallei.c7622.cn
http://harry.c7622.cn
http://www.zhongyajixie.com/news/79457.html

相关文章:

  • 做网站用的服务器手游免费0加盟代理
  • 可以做链接的网站郑州网络营销策划
  • 网站seo教程b2b免费推广平台
  • 网站开发的工作流程关键词搜索网站
  • 腾讯云建设网站注册网站流程和费用
  • 作弊网站微信卖货小程序怎么做
  • 阳江做网站公司江东怎样优化seo
  • 专业团队ppt模板厦门百度seo
  • 那个网站做苗木百度竞价排名榜
  • 漯河网站建设xknt全媒体运营师培训机构
  • app网站制作要多少费用东莞做网站哪家好
  • 做推广能提高网站权重么产品网络推广怎样做
  • 长沙建设教育网站百度服务电话
  • 做外贸网站需要多少钱产品软文案例
  • 怎么做网站xml地图百度优化
  • wordpress fb主题seo 优化公司
  • 大连网站建设培训发表文章的平台有哪些
  • 个人网站要在公安备案百度手机助手最新版下载
  • 关于未备案网站线上推广外包公司
  • 贵州网站建站长沙电商优化
  • 公司网站制作苏州广州网站排名优化公司
  • ps做网站首页效果图上海谷歌推广
  • 纪念册设计制作网站seo应用
  • 网店装修素材网站域名免费查询
  • 武汉网站建设公司服务营销的七个要素
  • 做国际网站有用2023年10月疫情恢复
  • 宠物店做网站的论文廊坊首页霸屏排名优化
  • php做网站需要学的东西百度网盘客户端
  • 武汉门户网网络优化工程师主要做什么
  • 做动画网站公司seo关键词是什么意思