目录
问题
解决方法
相关博客
关于 加载图片"Corrupt JPEG data: premature end of data segment" 的解决方法
问题
在将图片数据转换成QImage时,存在报错(之前貌似遇到QPixmap也有这个问题),出现错误:
"Corrupt JPEG data: premature end of data segment"
解决方法
方案一:图片先做压缩,压缩到400K以下jpg的尽量(具体限制大小开发者自测,这个跟压缩率解码出来的具体图片大小有直接关系)
简单理解就是解码图片后超过了QImage的最大横竖像素大小65535,可以修改源码,读者自己决定
方案二:图片分块处理,比如1920*1080图片,假设其超标了(实际肯定不会超标,只是举个例子),分成2块,960*1080也可以1920*540,这个读者自己决定
相关博客
《Qt实用技巧:测试80*1080p拼接后显示刷新帧率》:同时解码刷新1920*1080*80张的方案
《Qt实用技巧:测试QImage加载解码、QImage使用原数据、QImage格式转换等等的时间消耗》:大量转换图片耗时测试