【发布时间】:2011-02-09 22:43:54
【问题描述】:
如果您运行的是具有更高 DPI 设置的 Windows,您会注意到桌面上的大多数应用程序图标看起来很糟糕。甚至一些高调的应用程序图标(例如 Google Chrome)看起来很糟糕,而 Firefox、Skype 和 MS Office 图标看起来很清晰:
(示例)
我怀疑大多数图标看起来很模糊,因为将较低分辨率的图标放大而不是使用较高分辨率的图标。
我想为我的应用程序提供一个高质量的图标,但似乎无法说服 Windows 使用更高分辨率的图标。我用图标编辑器IcoFX 创建了一个多分辨率图标。该图标以 16x16、24x24、32x32、48x48、128x128 和 256x256 (!)(全部为 32 位,包括 alpha 通道)提供,但 Windows 似乎在桌面上使用 48x48 版本的图标,并且放大它看起来很糟糕。 (我使用的是 Windows 7 - 64 位 - 通过在 msi 中设置快捷方式(通过 Visual Studio 2008 安装项目创建)并将其指向包含多分辨率图标的 .ico 文件来放置图标)
我尝试删除 128x128 图标,但无济于事。有趣的是,在 Windows 资源管理器中,即使使用超大图标设置,图标看起来也很棒。 如何在 Windows 上创建一个在较高 DPI 设置下看起来很棒的高质量桌面图标?
编辑:我测试了删除 128x128 选项,然后删除 48x48 和 128x128 选项,并尝试使用 Axialis IconWorkshop 创建图标 - 没有任何效果。
编辑:经过多次试验和错误,我认为 真正的问题是 Visual Studio 2008 安装项目 - 手动设置指向我的可执行文件的链接正确使用高分辨率图标,但是由安装程序没有使用正确的图标。在编辑器中设置链接图标时,它只给了我一个选项(索引 0),它似乎是 48x48 图标。我曾尝试手动调整 .vdproj 中的 IconIndex 但没有运气。
【问题讨论】:
-
您是否在 IcoFX 中打开过 Firefox 和 Chrome 的图标,看看它们之间有什么不同?
-
我一直在想这个问题。我使用 SharpDevelop 在所有这些分辨率下创建图标,但是当我将它们添加到我的 C# winforms 应用程序时,它最终在开始菜单中看起来像垃圾。我希望你能找到答案。否则我最终会开始搜索这个。
-
@A Space Odyssey:很好的建议。 Chrome 图标似乎只有 48x48 版本,而 Firefox 有 256x256 但不是 128x128 - 我将尝试再次删除 128x128 并查看是否有效
-
不走运 - 无法弄清楚为什么 firefox 图标有效。
-
您是否将每个图标分辨率附加为单独的图标资源?还是 exe 有一个包含所有分辨率的图标资源?
标签: windows windows-installer icons highdpi