一、问题描述
QPixmap/QImage不能读取jpg图像,但是可以读取bmp,png图像。
可以使用如下代码检查一下当前支持格式.
qDebug() << "Supported formats:" << QImageReader::supportedImageFormats();
需要包含头文件:
#include <QImageReader>
#include <QDebug>
当前qDebug输出:
Supported formats: ("bmp", "pbm", "pgm", "png", "ppm", "xbm", "xpm"),也就是目前只能支持这些格式。
二、解决方案
出现使用QPixmap/QImage没法读取jpg图像问题,是因为没有把支持相应格式的动态库放到程序运行目录,你需要
从Qt的安装目录下的plugins文件夹下拷贝文件夹imageformats到程序的运行目录。如,我本机的路径为C:\Qt\Qt5.5.0\5.5\msvc2010\plugins\imageformats。 把imageformats整个目录拷到程序当前运行目录下,重新运行你的程序,就能够正常读取jpg图像。
需要从Qt的安装目录中plugins中拷贝文件夹imageformats到程序的运行目录。
拷贝后的目录结构为:
<程序运行文件夹>
*.exe
imageformats/*.dll