这个问题应该很多人都遇到过,比如下面这张图片test.png

    QImage image(":/test.png");qDebug()<<"current size:"<<image.width()<<image.height();QFileInfo fi(":/test.png");QString suffix=fi.suffix();qDebug()<<"current suffix:"<<suffix;

打印

current size: 0 0
current suffix: "png"

原因是图片的后缀可能被修改过,通过如下方法能正确获取到尺寸

QImage image(":/test.png");qDebug()<<"current size:"<<image.width()<<image.height();QFileInfo fi(":/test.png");QString suffix=fi.suffix();qDebug()<<"current suffix:"<<suffix;QString realSuffix=suffix;QMimeDatabase mimeDataBase;auto mimeType=mimeDataBase.mimeTypeForFile(fi,QMimeDatabase::MatchContent);QString mimeTypeName=mimeType.name();if(mimeTypeName=="image/jpg"||mimeTypeName=="image/jpeg"||mimeTypeName=="image/jpe"){if(!(suffix.contains("jpg",Qt::CaseInsensitive)||suffix.contains("jpeg",Qt::CaseInsensitive)||suffix.contains("jpe",Qt::CaseInsensitive))){realSuffix="jpg";QImage image(":/test.png",realSuffix.toStdString().c_str());qDebug()<<"real size:"<<image.width()<<image.height();qDebug()<<"real suffix:"<<realSuffix;}}else if(mimeTypeName=="image/png"){if(!suffix.contains("png",Qt::CaseInsensitive)){realSuffix="png";QImage image(":/test.png",realSuffix.toStdString().c_str());qDebug()<<"real size:"<<image.width()<<image.height();qDebug()<<"real suffix:"<<realSuffix;}}

打印

current size: 0 0
current suffix: "png"
real size: 810 1080
real suffix: "jpg"

原创不易,转载请标明出处:https://blog.csdn.net/caoshangpa/article/details/83959422

Qt之QImage无法获取图片尺寸(宽和高)相关推荐

  1. JAVA获取图片的宽、高和大小

    JAVA获取图片的宽.高.大小 如果是本地磁盘文件 File file = new File("C:\\Users\\root\\Desktop\\test.jpg");Buffe ...

  2. Unity从图片的字节数据里面获取图片的宽和高

    简单明了直接上代码 转换的时候不要指定宽高,转的时候就会自动根据图片的实际宽高来转换了. public void ByteToImage(byte[] data) {Texture2D texture ...

  3. php获取图片的高和宽,PHP 获取图片的宽和高

    PHP 图片 行业数据 IM $im=imagecreatetruecolor($w,$h); 这条代码通过指定宽和高创建了一个image数据源. 现在我知道一个图片的数据源,通过 imagecrea ...

  4. java 获取图片的宽高

    博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导): 通过java获取图片的宽高 获取本地文件的图片尺寸: import java.awt.image.BufferedIma ...

  5. php 验证网络图片尺寸,通过url获取图片尺寸的几种方法:JS和php

    首先是js的方法,通过new一个Image对象,设置src属性,并监听complete和onload事件,图片加载完成后输出图片的宽度和高度 function checkPicurl(url){ va ...

  6. RT/Metro商店应用如何如何获取图片的宽高

    RT/Metro商店应用如何如何获取图片的宽高 var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms ...

  7. 图片加尺寸php代码,php获取图片尺寸(宽度,高度)_php

    本篇文章主要说明php获取图片尺寸(宽度,高度)的函数,即getimagesize()函数. 语法:array getimagesize( string filename [, array & ...

  8. imagereader java_java中ImageReader和BufferedImage获取图片尺寸实例

    ImageReader 对象通常由特定格式的服务提供者接口 (SPI) 类实例化.服务提供者类(例如 ImageReaderSpi 的实例)向 IIORegistry 注册,后者使用前者进行格式识别和 ...

  9. php 获取图片的宽高,JS怎么获取图片当前宽高

    JS获取图片当前的宽高,我们可以使用JavaScript clientWidth和clientHeight属性来实现获取.clientWidth.clientHeight属性表示获取图像的当前宽度和高 ...

最新文章

  1. spring + mina 作为客户端解析H2协议的使用总结
  2. linux命令之tee,技术|为初学者介绍的 Linux tee 命令(6 个例子)
  3. 无线通信AI大赛正式开放评测,50万大奖等你霸榜!
  4. 算法学习:最近公共祖先
  5. CoreAnimation汇总
  6. 《C#线程参考手册》读书笔记(三):.NET中的线程池
  7. Q96:过程纹理(Procedural Texture)(0)——概述
  8. Xshell远程连接Linux无法成功连接
  9. 计算机在线应用竖式,‎App Store 上的“竖式计算器”
  10. 【我的Android进阶之旅】APK反编译教程和工具下载
  11. XSS进阶二 ——合天网安实验室学习笔记
  12. PhantomReference虚引用
  13. 如何使用lerna管理你的仓库
  14. Karto Slam 参数配置
  15. 开机就是linux图形界面,怎么进入控制台,输命令? shell
  16. 软件项目管理系统-采购商品管理-采购一览
  17. 一览 A16z 在 2023 年重点关注的 Crypto 和 Web3 游戏想法
  18. sht20中写用户寄存器_数字输出温湿度传感器HTU21D和SHT21对比评测(图文)
  19. 大公司,还是小公司?
  20. Matter理论介绍-通用-1-06:桥接设备-其他功能

热门文章

  1. 开学寄语:开学了,大一萌新准备好了吗?
  2. 微软网络访问保护 (NAP) 技术介绍
  3. 2021,“韭零后”的智商税涌向了哪里?
  4. HTML5期末大作业:仿淘宝电商网站设计——仿淘宝电商管理系统(21页)含论文 HTML+CSS+JavaScript 学生DW网页设计作业成品 大学生网页制作期末作业
  5. Hrbust 2295 方方正正【规律】
  6. 相关性不等于因果性吗,为什么?
  7. 怎样做一名成功的推销员
  8. DNSPod十问灵雀云左玥:不惧巨头围剿,容器独角兽的突围之路
  9. dnf服务器不稳定进团队频道,DNF卢克模式下线?攻坚团本频道消失,频繁制裁玩家机制...
  10. ubuntuandroid双系统制作过程