QImage/QPixmap加载图片失败(宽和高都为0)的两种解决方法
Posted 草上爬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QImage/QPixmap加载图片失败(宽和高都为0)的两种解决方法相关的知识,希望对你有一定的参考价值。
先看现象,这里有一张图片test.png,windows照片查看器可以正常打开
但是用QImage加载时
QString filePath = qApp->applicationDirPath()+"/test.png";
QImage image(filePath);
qDebug()<<image.isNull()<<image.width()<<image.height()
输出为:true 0 0
这里用到了QImage的构造函数:QImage::QImage(const QString &fileName, const char *format = nullptr),由于format未指定,QImage会根据后缀来识别图片。
通常,我们用QImage或QPixmap加载一张图片时,可以通过isNull()来判断是否加载成功,当加载失败时,isNull()返回false,同时width()和height()也返回0。这种现象很好复现,只需修改图片的后缀。上面用到的test.png,原来的后缀是jpg,我直接改成了png。
下面来说解决方法,这两种方法都是基于Qt,无需第三方库或系统函数
方法一:
这
以上是关于QImage/QPixmap加载图片失败(宽和高都为0)的两种解决方法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 3 中将 QImage(QPixmap) 转换为 PIL Image?
如何在Python 3中将QImage(QPixmap)转换为PIL图像?