最近做的一个 WPF 程序,在 Windows 7 或以上版本的系统中,测试都很正常,在 Windows XP 下运行时一开始就报了个错误:
{
"ClassName" : "System.Windows.Markup.XamlParseException",
"Message" : "The image format is unrecognized.",
"Data" : {
"System.Object" : null
},
"InnerException" : {
"ClassName" : "System.Runtime.InteropServices.COMException",
"Message" : "Exception from HRESULT: 0x88982F07",
"Data" : null
以下省略若干行异常信息………
唔… 百度了一下,发现原来是程序图标的格式问题,好像自 Windows Vista 以后,因为系统中图标可以被放大到很大(最大是256x256?),高清图标带来的肯定是体积的增大哈,为了减小图标的体积,好像推出了一个带压缩参数的图标格式,可以压缩高清图标的大小?
好吧,啰里啰唆了半天,解决方法就是找个图标设计工具,修改一下图标,把那个压缩参数去掉就好了~
比如我用的是一个叫 IconWorkshop 的软件,图标的右上角有这样一个小图标(),就是被压缩了。。。
然后右键去掉 PNG 压缩图像格式 的选项,或者去掉工具栏上的那个按钮的选中状态,就好了。
不同软件的设置方法可能会很不相同,但应该都有这个选项,自己找一下吧~
参考来源:http://torque.gig8.com/2009/01/image_format_is_unrecognized_w.html