WPF 程序在 Windows XP 下报错:The image format is unrecognized.

最近做的一个 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 的软件,图标的右上角有这样一个小图标(image),就是被压缩了。。。

image

然后右键去掉 PNG 压缩图像格式 的选项,或者去掉工具栏上的那个按钮的选中状态,就好了。

不同软件的设置方法可能会很不相同,但应该都有这个选项,自己找一下吧~

参考来源:http://torque.gig8.com/2009/01/image_format_is_unrecognized_w.html

原文地址:https://www.cnblogs.com/xwgli/p/5127518.html