为什么我的浏览器不能显示PNG格式的图片了?
浏览器PNG图片无法显示原因是PC上的软件冲突,然后导致有时候注册表混乱,使基于IE内核的浏览器无法正常显示图片,尤其是png格式。
解决方法如下:
“开始”——“运行”——输入“cmd”进入命令行
输入“regsvr32 c:\windows\system32\pngfilt.dll”一般即可解决问题。
如果没有效果则:
以下内容放入文本文件,存为reg后缀。双击运行即可。
Windows Registry Editor Version 5.00
;PNG file association fix for Windows XP
;Created on May 17, 2007 by Ramesh Srinivasan
[HKEY_CLASSES_ROOT\.PNG]
"PerceivedType"="image"
@="pngfile"
"Content Type"="image/png"
[HKEY_CLASSES_ROOT\.PNG\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\pngfile]
@="PNG Image"
"EditFlags"=dword:00010000
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,73,00,68,00,69,00,6d,00,67,00,76,00,77,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,33,00,30,00,35,00,00,00
"ImageOptionFlags"=dword:00000003
[HKEY_CLASSES_ROOT\pngfile\CLSID]
@="{25336920-03F9-11cf-8FD0-00AA00686F13}"
[HKEY_CLASSES_ROOT\pngfile\DefaultIcon]
@="shimgvw.dll,2"
[HKEY_CLASSES_ROOT\pngfile\shell]
@="open"
[HKEY_CLASSES_ROOT\pngfile\shell\open]
"MuiVerb"="@shimgvw.dll,-550"
[HKEY_CLASSES_ROOT\pngfile\shell\open\command]
@="rundll32.exe C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_Fullscreen %1"
[HKEY_CLASSES_ROOT\pngfile\shell\open\DropTarget]
"Clsid"="{E84FDA7C-1D6A-45F6-B725-CB260C236066}"
[HKEY_CLASSES_ROOT\pngfile\shell\printto]
[HKEY_CLASSES_ROOT\pngfile\shell\printto\command]
@="rundll32.exe C:\\WINDOWS\\system32\\shimgvw.dll,ImageView_PrintTo /pt \"%1\" \"%2\" \"%3\" \"%4\""
[HKEY_CLASSES_ROOT\SystemFileAssociations\.PNG]
"ImageOptionFlags"=dword:00000003
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.PNG]
[-HKEY_CLASSES_ROOT\Mime\Database\Content Type\image/x-png]
[-HKEY_CLASSES_ROOT\Mime\Database\Content Type\image/png]
[HKEY_CLASSES_ROOT\Mime\Database\Content Type\image/x-png]
"Extension"=".png"
"Image Filter CLSID"="{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}"
[HKEY_CLASSES_ROOT\Mime\Database\Content Type\image/x-png\Bits]
"0"=hex:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a
[HKEY_CLASSES_ROOT\Mime\Database\Content Type\image/png]
"Extension"=".png"
"Image Filter CLSID"="{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}"
[HKEY_CLASSES_ROOT\Mime\Database\Content Type\image/png\Bits]
"0"=hex:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a
[HKEY_CLASSES_ROOT\CLSID\{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}]
@="CoPNGFilter Class"
[HKEY_CLASSES_ROOT\CLSID\{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}\InProcServer32]
@="C:\\WINDOWS\\system32\\pngfilt.dll"
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}\ProgID]
@="PNGFilter.CoPNGFilter.1"
[HKEY_CLASSES_ROOT\PNGFilter.CoPNGFilter]
@="CoPNGFilter Class"
[HKEY_CLASSES_ROOT\PNGFilter.CoPNGFilter\CLSID]
@="{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}"
[HKEY_CLASSES_ROOT\PNGFilter.CoPNGFilter.1]
@="CoPNGFilter Class"
[HKEY_CLASSES_ROOT\PNGFilter.CoPNGFilter.1\CLSID]
@="{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}"
1. 有人说是IE6不能查看PNG是个BUG,大小为 4,097 字节或 4,098 字节 不能看。
对于这个问题,需要补丁。现在一般很少有电脑有这个问题。
2. 注册表修改,在HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/INTERNET EXPLORER/EMBEDEXTNTOCLSIDMAPPINGS/ 下加个.png的子键,并且把值修改为clsid:4063BE15-3B08-470D-A0D5-B37161CFFD69。
3. 有人说重装IE6,有人说要装IE7,有人说要重装系统,没试过……
重装IE6,我没试过,IE7就算了。我愿意重装系统早装了。
4. 使用 开始->运行,在运行输入框中输入 “regsvr32 c:\windows\system32\pngfilt.dll”如果在注册时出现 “已加载 c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点。无法注册这个文件”,则表明这个文件可能损坏了,或是找不到文件。要去别的机子去Copy一个好的过来。再进行一次注册。
5. 更改文件夹选项的设置,控制面板->“文件夹选项”->“文件类型”,选择下方的“还原”按钮。
根本就没有见到有个“还原”的按钮。我干脆就把文件类型里的PNG类型删除掉了,然后打开电脑中的PNG图片,就自动用“widows文件和传真查看器”打开,可以浏览。但是IE还是不能看。
6. 注册表修改。在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \Internet Settings\Accepted Documents”,在右边右键“新建”->“字符串值” 紧接着最大的数字命名,我这里是3,故命名为4,并赋值为“image/png”。
7. 注册表修改。在“HKEY_CLASSES_ROOT\MIME\Database\”看看是不是孔的,然后看看content type 下面是不是有乱码的项。如果是空的,找一个健全的电脑,把“HKEY_CLASSES_ROOT\MIME”整个键导出到mime.reg,再到我机子导入。如果没有权限导入,在MIME键上右键,把MIME项整个删除,导入MIME.REG,再右键查看权限,正常。
我这里各项健全。也没有查看到乱码,也不存在权限的问题。不管怎么样,我都把这个分支删掉了,重新导入其他正常电脑的分支项。依然没有成功。
(有人说装了quick time后,导致这里有中文,注册表不识别,所以乱码,但是我这里没有,连quick time 也没有。我为此还专门装了quicktime,也没发现有乱码出现)
8. 修改INTERNET选项,在“高级”选项卡下“多媒体”里选“显示图片”
9. 修改注册表。在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Security]
加入dword值 名称为BlockXBM 值为0