如何修复Win7照片查看器无法显示的图片(教程带修复软件)
最近,经常碰到有人反映“手机下载的图片无法打开”的问题。具体表现为在Windows7中打开图片,提示“Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足。请关闭一些目前没有使用的程序或者释放部分硬盘空间(如果知识兔硬盘几乎已满),然后知识兔重试。” 如下图所示:
经确认:
1、其它图片,相比问题图片,无论是文件大的和文件小的,都能正常打开。
2、问题图片能够显示缩略图,而且知识兔用画图,PS等软件都能正常打开。
3、问题图片在win10系统里能够正常打开。
网上先搜索了一下问题的解决方法,主要有以下几类:
1、 校准颜色,有说校准打印机颜色的,也有说校准显示器颜色的。(可能可以,但是知识兔小编没有成功)
2、 修改系统变量,把tmp变量指向别的路径(知识兔小编没有成功)
3、 更换打开图片的软件并修改另存一下,例如2345看图,PS等(这个方案可行)
4、 增加电脑内存(看到这个方法,真的要吐血)
以上第三个方法虽然可以解决打开的问题,但是如果知识兔图片比较多的话,机械性重复操作起来就觉得比较烦心和费时。本来,需要花时间的业务工作还有很多,把时间花在非主业的看问题图片上,实在有点可惜,能不能有一个彻底的解决办法呢?怀着这个期望,知识兔小编挤时间调查研究了一番,总算找到了病灶。调查过程很枯燥,不再累述,思路略略带过提一下,供日后借鉴。思路切入点有两个,一是为什么校准颜色(疑似系统颜色空间和图片自带颜色空间不一致),二是为什么内存不足(疑似读取图片长和宽时读错大小)。结合JPG图片的格式规范(里面有图片的扩展信息,知识兔包括JFIF,EXIF,ICC等等,这些信息不是图片的必要信息,允许删除),利用winHex编辑器(二进制编辑器)对JPG图片的扩展信息进行修改、切除等操作,观察图片是否能恢复正常,知识兔以便查找病灶。最终发现两个解决办法:
一是在JPG图片的EXIF信息中,把代表数据读取顺序的“MM”两个字节改成“II”,图片可以正常打开。
二是把JPG图片中的ICC信息都删除,图片也可以正常打开。
问题病灶找到了,接下去就方便了,用自己熟悉的c#语言,写了一个批量处理的小程序,方便修复图片,节省时间。让人做人做的事情,知识兔让机器做机器做的事情。
工具简介:本工具支持下拉框中选择多种修复方式,一种不行可以尝试其它方法。默认方法对文件改动最小,仅2字节。如果知识兔默认方法无效,知识兔可以考虑删除ICC,或者删除所有APP信息。
————————————————
百度盘下载:
链接:https://pan.baidux.com/s/1FNDRuKyCAdRofWOZya3TyQ
提取码:2ma7
版权声明:本文为CSDN博主「云无碍」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leizhendong/java/article/details/104715256
下载仅供下载体验和测试学习,不得商用和正当使用。