我有一个Windows应用程序,它将在Windows XP及更高版本(即Vista / 7)中运行。根据{{3}},标准尺寸为16x16,32x32,48x48,256x256(XP标准尺寸不包括256x256图标)。除了那些尺寸,我还有96x96和128x128(可以创造更多)。
我应该包含以下哪些图标尺寸? shell实际上会使用“非标准”大小,还是只会让我的应用程序膨胀?
答案 0 :(得分:297)
我花了一些时间仔细检查一下。我创建了一个图标,其图像大小为16,24,32,40,48,64,96,128和256.然后我检查了哪个图像显示。所有这些都是用普通的96dpi完成的。如果使用更大的DPI,可以使用更大的尺寸(仅在Windows 7中检查一下)。结果:
Windows XP:
Windows 7:
Windows运行时:(from here)
结果是:Windows XP使用16,32,48个大小的图标,而Windows 7(可能还有Vista)也使用256个大小的图标。 忽略所有其他中间图标大小(他们可能在我未检查的某个区域使用
。我还检查了Windows 7如果缺少图标大小会发生什么:
生成缺失的尺寸(显然)。尺寸为16,32和48,如果缺少尺寸,则首选缩尺。因此,如果我们有大小为16和48的图标,则会从48图标创建32图标。 如果没有其他尺寸可用,256图标仅用于这些!因此,如果图标大小为16和256,则其他尺寸将从16图标中升级!
此外,如果没有256图标,则使用(可能生成的)48图标,但不再调整大小。所以我们有一个(可能很大)空白区域,中间有48个图标。
请注意,XP中的默认桌面图标大小为32x32,而在Windows 7中则为48x48。 因此,对于Windows 7来说,拥有48个图标是相对重要的。否则,它会从较小的图标升级,这可能看起来很丑陋。
关于Windows XP兼容性的说明:如果您将图标重复用作窗口图标,请注意,如果您使用压缩的256图标,这可能会导致应用程序崩溃。解决方案是不压缩图标或创建没有(压缩)256图标的第二个版本。有关详细信息,请参阅here。
答案 1 :(得分:26)
在Windows 7中使用带有8,16,20,24,32,40,48,64,96,128和256像素(PNG为256)的图标进行一些测试后:
所以8个,32个从未使用过(对我来说这对我来说很奇怪)和128个只有Windows Photo Viewer的dpi屏幕非常高,即almot从未使用过。
这意味着您的图标至少应为Windows 7提供16,48和256个。对于支持高分辨率的新屏幕,您应该提供16,20,24,40,48,64,96和256.对于Windows 7,所有图片都可以使用PNG压缩,但为了向后兼容Windows XP,不应压缩16到48.
答案 2 :(得分:22)
“应用程序图标和控制面板项目:完整集包括16x16,32x32,48x48和256x256(代码比例介于32和256之间)。”
对我来说,这意味着(但不明确地说明)你应该提供这4种尺寸。
有关颜色格式的其他详细信息,您可能会觉得有用:
“图标文件也需要8位和4位调色板版本,以支持远程桌面的默认设置。”
“只应包含256x256像素图像的32位副本,并且只应压缩256x256像素图像[作为PNG]以保持文件大小不变。”
答案 3 :(得分:11)
在Windows 10的情况下,这并不完全准确,事实上stackoverflow上的答案都没有,当我尝试使用像素艺术作为图标时,我发现了这一点,并且当它不应该重新调整时(在这种情况下很容易看出插值和平滑窗口的原因确实)即使你使用了这篇文章的大小。
所以我制作了一个应用并完成了所有DPI设置的工作,请在此处查看:
Windows 10 all icon resolutions on all DPI settings
您还可以使用我的应用程序创建图标,也可以使用最近邻居插值并平滑,这与我见过的任何不良编辑器都没有。
如果您只想要决议:
16,20,24,28,30,31,32,40,42,47,48,56,60,63,84,256
并且你应该使用所有PNG图标和你放在旁边的任何东西,它们将不会显示。请参阅我的post原因。
答案 4 :(得分:9)
(Windows 8/10的更新答案)
在新的Windows设计指南中查看指南和尺寸的完整列表:https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset-types
仍然包含具有这些尺寸的.ICO文件以支持传统体验:
答案 5 :(得分:6)
不是96x96,而是使用64x64。我通常使用:
256也适用于XP,但旧的资源编译器有时会抱怨“内存不足”错误。
答案 6 :(得分:1)
来自Microsoft MSDN recommendations:
应用程序图标和控制面板项:完整集包括16x16,32x32,48x48和256x256(代码比例介于32和256之间)。 .ico文件格式是必需的。对于经典模式,全套为16x16,24x24,32x32,48x48和64x64。
因此我们已经建议使用标准尺寸:
如果我们想支持高DPI设置,完整列表还将包括以下尺寸:
答案 7 :(得分:0)
TL;博士。在 Visual Studio 2019
中,当您将 Icon
资源添加到 Win32
(桌面)应用程序时,您会得到一个自动生成的图标文件,其格式如下。我认为适用于 Windows 的 #1 开发人员工具正确地做到了这一点。因此,Windows
兼容格式应具有以下格式:
| Resolution | Color depth | Format |
|:-----------|------------:|:------:|
| 256x256 | 32-bit | PNG |
| 64x64 | 32-bit | BMP |
| 48x48 | 32-bit | BMP |
| 32x32 | 32-bit | BMP |
| 16x16 | 32-bit | BMP |
| 48x48 | 8-bit | BMP |
| 32x32 | 8-bit | BMP |
| 16x16 | 8-bit | BMP |