首页| 论坛| 消息

标题:Not a JPEG file: starts with 0x89 0x50
作者:binxuan7
日期:2018-03-06 22:45
内容:

在用qml的image加载图片时有的正确显示了,但有的出现这个错误,

Not a JPEG file: starts with 0x89 0x50
qrc:/main.qml:136:25: QML Image: Error decoding: file:///D:/pictured/picture/1.jpg: Unable to read image data


我查了一下貌似是PNG的文件,后缀被错误的改成了JPG,图片量很多,手动修改错误的图片格式部现实,请问各位大大有什么办法吗?


#1 [linker 03-07 16:15]
写个程序,用图片类读取文件夹里所有文件,如果load失败则修改后缀。应该可以吧
#2 回 linker 的帖子 [binxuan7 03-08 18:56]
linker:写个程序,用图片类读取文件夹里所有文件,如果load失败则修改后缀。应该可以吧 (2018-03-07 16:15) 
我也想过,可就是怕出现,多种情况,jpg文件后缀错写成了PNG,PNG错误的写成了JPG,JPG错误的写成GIF等等,QT貌似缺乏判断实际格式的功能
#3 [binxuan7 03-11 23:37]
已经成功解决问题,我写了个判断格式的函数,如有相同问题的可以看一下
QString PicModel::returnRealFormat(QString path,QString suffix){//suffix代表路劲
QFile file(path);
file.open(QIODevice::ReadOnly);
QByteArray ba;
ba=file.readAll();
file.close();
char c;
QString s;
for(int i=0;i

回复 发表
主题 版块