6

我最近使用了从我们的营销团队收到的图标文件。在资源编辑器 (Visual Studio 2008) 中打开时的图标文件如下所示。

在此处输入图像描述

IcoFX中打开并保存的相同文件在资源编辑器中正确显示。 在此处输入图像描述

我的营销团队在 Mac 中使用了一些工具 ( Picture2Icon ) 并生成了似乎已损坏不完全正确的图标文件。IcoFx 保存的相同文件似乎是正确的。是什么导致 ICOFX 输出正确?

结果是 exe 显示错误的图标。图像不好的确切情况尚不清楚 - 如果颜色质量设置为“中等” (Windows XP) ,则会报告。在 Windows 资源管理器中“选择”可执行文件时情况更糟。

在此处输入图像描述

这是一个显示问题的图标:https ://github.com/jayanmn/icontest/blob/master/icontest.ico

创建 exe 的完整示例代码位于 https://github.com/jayanmn/icontest/

所以问题是一个 ico 文件,我如何确保它在 WindowsXP、Windows Vista 和 Windows7 上正常工作?

4

1 回答 1

7

我仔细查看了您icontest.ico从 GitHub 网站提供的文件,发现该解决方案很容易解决。

首先,让我说明一下我在Windows XP 32 位系统上使用免费软件IrfanView软件看到的问题,该软件是完成这项任务的出色图像查看器。

这是我使用 IrfanView 看到的 6 层中的 5 层的错误的合成照片:

在此处输入图像描述


要修复上述icontest.ico文件,人们会认为帧 1、2、3、4 和 6 不好。但事实恰恰相反!事实证明,第 5 帧是罪魁祸首!

具体来说,第 5 帧在此帧上具有压缩集,这会导致问题。

所需的实际修复只是重新保存文件而不压缩该icontest.ico层。对于此任务,作为出色图像编辑器的免费软件GIMP应用程序非常适合此任务。

只需使用GIMP重新保存图标文件,但删除第5层的压缩,如下所示:

在此处输入图像描述


最终结果是在 IrfanView 中看到的正确渲染的icontestResaved.ico提示:要在 IrfanView 中查看图标文件的帧,请使用帧号旁边的红色箭头,即 1/6): 在此处输入图像描述

确保文件在不同 Windows 操作系统中工作的最佳方法是实际拥有一台可用的机器,因为渲染引擎是独一无二的,并且模拟器可能无法按预期工作。

好奇的人:在 GIMP 中将所有图层设置为压缩会导致在 Windows 资源管理器中无法查看图标。

提示:要以原始尺寸查看上述参考图像,请单击鼠标右键并选择查看图像。

状态更新:考虑安装Axialis IconWorkshop™ Lite 版本 6.3.1.1来处理您所有的图标开发工作流程需求。它是Axialis 自己提供的免费Visual Studio 2008 插件!

于 2012-06-27T07:05:22.617 回答