我有一个Windows应用程序,将运行在Windows XP和更新(即Vista/7)。根据Vista UI指南,标准尺寸是16x16、32x32、48x48、256x256 (XP标准尺寸不包括256x256图标)。除了这些尺寸,我还有96x96和128x128(还可以创建更多)。
我应该包括哪些图标大小?shell将实际使用“非标准”大小,还是我将简单地膨胀我的应用程序?
我有一个Windows应用程序,将运行在Windows XP和更新(即Vista/7)。根据Vista UI指南,标准尺寸是16x16、32x32、48x48、256x256 (XP标准尺寸不包括256x256图标)。除了这些尺寸,我还有96x96和128x128(还可以创建更多)。
我应该包括哪些图标大小?shell将实际使用“非标准”大小,还是我将简单地膨胀我的应用程序?
当前回答
在Windows 7中使用8、16、20、24、32、40、48、64、96、128和256像素(PNG格式为256)的图标进行测试后:
100%分辨率:资源管理器使用16、40、48和256。Windows照片查看器使用96。Paint使用256。 在125%分辨率时:资源管理器使用20,40和256。Windows照片查看器使用96。Paint使用256。 在150%分辨率时:资源管理器使用24、48和256。Windows照片查看器使用96。Paint使用256。 在200%分辨率时:Explorer使用40,64,96和256。Windows照片查看器使用128。Paint使用256。
所以8,32从未被使用过(32对我来说很奇怪),128只有在dpi非常高的屏幕上才被Windows照片查看器使用,也就是说几乎从未被使用过。
这意味着你的图标至少应该提供16,48和256的Windows 7。为了支持高分辨率的新屏幕,您应该提供16、20、24、40、48、64、96和256。对于Windows 7,所有图片都可以使用PNG压缩,但为了向后兼容Windows XP, 16到48不应该压缩。
其他回答
(Windows 8/10的更新答案)
在新的Windows设计指南中查看完整的指南和尺寸列表:https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset-types
仍然包含以下大小的.ICO文件,以支持遗留体验:
16 x16 24 x24 32 x32 48 x48 256 x256
在Windows 7中使用8、16、20、24、32、40、48、64、96、128和256像素(PNG格式为256)的图标进行测试后:
100%分辨率:资源管理器使用16、40、48和256。Windows照片查看器使用96。Paint使用256。 在125%分辨率时:资源管理器使用20,40和256。Windows照片查看器使用96。Paint使用256。 在150%分辨率时:资源管理器使用24、48和256。Windows照片查看器使用96。Paint使用256。 在200%分辨率时:Explorer使用40,64,96和256。Windows照片查看器使用128。Paint使用256。
所以8,32从未被使用过(32对我来说很奇怪),128只有在dpi非常高的屏幕上才被Windows照片查看器使用,也就是说几乎从未被使用过。
这意味着你的图标至少应该提供16,48和256的Windows 7。为了支持高分辨率的新屏幕,您应该提供16、20、24、40、48、64、96和256。对于Windows 7,所有图片都可以使用PNG压缩,但为了向后兼容Windows XP, 16到48不应该压缩。
这份官方的微软Windows应用程序开发指南说:
应用程序至少应该有:16x16、24x24、32x32、48x48和256x256。
以下是ICO文件中包含的一些程序及其大小:
Application | Icon | 16 | 20 | 24 | 32 | 40 | 48 | 60 | 64 | 72 | 80 | 96 | 256 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Google Chrome 106 | ✓ | ✓ | ✓ | ✓ | |||||||||
IntelliJ IDEA 2022.2.3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
MS PowerToys 0.63.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
MS Paint 11.2208.6.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
MS Task Manager 10.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
MS Word 2021 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
MS Visual Studio 2022 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
我们可以用ImageMagick从PNG等文件创建一个不同大小的ICO文件,如下所示:
./magick my-source-image.png -background transparent -define icon:auto-resize="16,24,32,48,64,256" C:/Users/Hello/Desktop/result.ico
笔记
没有应用程序包含128的大小 256大小为PNG格式;其他的是ICO MS是微软的缩写 图标是用这个工具从程序.exe文件中提取的 你可以保存上面的图标,并自己用ImageMagick检查它们,就像这样: ./magick识别“C:/Users/Hello/Desktop/result.ico”
TL,博士。在Visual Studio 2019中,当你向Win32(桌面)应用程序添加图标资源时,你会得到一个自动生成的图标文件,其格式如下。我认为Windows的头号开发工具在这方面做得不错。因此,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 |
来自微软MSDN的建议:
应用程序图标和控制面板项:全套包括16x16、32x32、48x48和256x256(代码规模在32到256之间)。要求文件格式为。ico。对于经典模式,全套是16x16, 24x24, 32x32, 48x48和64x64。
所以我们已经有了标准的推荐尺寸:
16 × 16, 24 x 24, 32 x 32, 48 x 48, 64 x 64, 256 * 256。
如果我们想支持高DPI设置,完整的列表将包括以下大小:
20 x 20, 30 x 30, 36 x 36, 40 x 40, 60 x 60, 72 x 72, 80 x 80, 96 x 96, 128 x 128, 320 x 320, 384 x 384, 512 x 512。