Windows应用程序的图标应包括哪些图标大小?


236

我有一个Windows应用程序,它将在Windows XP和更高版本(即Vista / 7)中运行。根据Vista UI指南,标准尺寸为16x16、32x32、48x48、256x256(XP标准尺寸不包括256x256图标)。除了这些尺寸,我还有96x96和128x128(并且可以创建更多尺寸)。

我应该包括哪些图标尺寸?Shell会实际使用“非标准”大小,还是仅将应用程序膨胀?


3
该网站是许多平台上图标大小的不错参考:iconhandbook.co.uk/reference/chart
Mark Hatton 2010年

Answers:


303

我花了一些时间来详细检查它。我创建了一个图标,其图像大小分别为16、24、32、40、48、64、96、128和256。然后检查显示的图像。所有这些操作均以正常的96dpi完成。如果使用较大的DPI,则可以使用较大的大小(仅在Windows 7中对此进行了一点检查)。结果:

Windows XP:

  • 资源管理器视图:
    • 详细信息/列表:16
    • 图标:32
    • 瓷砖/缩图:48
  • 右键单击->属性/选择一个新图标:32
  • 快速入门区:16
  • 台式机:32

Windows 7的:

  • 资源管理器视图:
    • 详细信息/列表/小符号:16
    • 所有其他选项:256(必要时调整大小)
  • 右键单击->属性/选择一个新图标:32
  • 固定到任务栏:32
    • 右键菜单:16
  • 桌面:
    • 小符号:32
    • 中号:48
    • 大符号:256(如有必要,可调整大小)
    • 使用Ctrl +鼠标轮进行缩放:16、32、48、256

Windows运行时:(从此处开始

  • 主图块:150x150、310x150(宽版)
  • 小徽标:30x30
  • 徽章(用于锁屏):24x24,单色
  • 开机画面:620x300
  • 商店:50x50

结果就是: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图标的第二个版本。有关更多信息,请参见此处


12
好吧,这里说还需要64px,在官方图标指南上也建议20px,24px和40px。40px图标似乎用于alt + tab和baloons,其他图标似乎取决于DPI使用(例如,在较高DPI屏幕中使用20px而不是16px,否则从较大的32px尺寸缩小甚至更丑)。还没测试。
卡米洛·马丁

2
我做了一些测试。为了在桌面上显示,当我在Windows 7上将其设置为144dpi(“ 150%”)时,对于最小的图标,它使用了24px图标(如果有的话,否则请改成16px)。从图标准则来看,Vista上似乎有一个“经典模式”,它也使用64px图标。但是,Windows 7不使用它。而是仅调整了256px图标的大小。
丹尼尔·罗斯

有趣,感谢您的发现。无论如何,我不知道有多少野外应用程序具有超过16、32、48和(希望)256 px的图标。我猜很少。但也许用户会注意到,因为其余两个图标之间的图标更清晰。
卡米洛·马丁

@Camilo请注意,可以使用CTRL +鼠标滚轮来调整大小,并且所有“介于两者之间”的大小都可以上下滚动。但是,绝对会引起注意的是缺少48px图标,因为这是默认Windows 7桌面使用的大小。
Daniel Rose

3
而且,如果该应用程序是实用程序而不是非常流行的软件,或者是较旧的版本,那将损失一半的时间...即使是Visual Studio的某些图标(用于文件类型的图标)甚至都没有48px版本。
卡米洛·马丁

28

在Windows 7中对带有8、16、20、24、32、40、48、64、96、128和256像素(PNG中为256像素)的图标进行一些测试之后:

  • 在100%分辨率下:Explorer使用16、40、48和256。WindowsPhoto Viewer使用96。Paint使用256。
  • 在125%的分辨率下:Explorer使用20、40和256。WindowsPhoto Viewer使用96。Paint使用256。
  • 在150%分辨率下:Explorer使用24、48和256。WindowsPhoto Viewer使用96。Paint使用256。
  • 在200%分辨率下:Explorer使用40、64、96和256。WindowsPhoto Viewer使用128。Paint使用256。

因此,只有具有很高dpi屏幕的Windows Photo Viewer才使用8、32(对于32来说我很奇怪)和128,即从未使用过almot。

这意味着您的图标至少应为Windows 7提供16、48和256。要支持高分辨率的较新屏幕,应提供16、20、24、40、48、64、96和256。对于Windows 7,请全部可以使用PNG压缩图片,但是为了与Windows XP向后兼容,不应压缩16到48。


请在此处查看我的答案(stackoverflow.com/questions/12385143/…),但是如果在.ico文件中压缩256x256图像,则Windows XP系统将无法打开该文件。您将获得带有HRESULT 0x88982F07的FileFormatException。
cplotts

还值得一提的是那些高DPI版本需要以24bpp模式保存,我尝试将它们存储在8位彩色模式下,Windows 7使用256px版本而不是125%DPI中的20x20px。
BartoszWójcik'16

2
这很简单,但是很详尽。考虑DPI非常重要。
caesay

24

微软UX图标指导说:

“应用程序图标和控制面板项目:全套包括16x16、32x32、48x48和256x256(代码比例在32和256之间)。”

对我来说,这意味着(但没有明确指出)您应该提供这4种尺寸。

有关颜色格式的其他详细信息,您可能还会发现有用的信息:

  • “图标文件也需要8位和4位调色板版本,以支持远程桌面中的默认设置。”

  • “仅应包括256x256像素图像的32位副本,并且仅应压缩256x256像素图像(作为PNG)以减小文件大小。”



12

在Windows 10的情况下,这并不是完全准确的,事实上,关于stackoverflow的答案都没有,我在尝试使用像素画作为图标时发现了这一点,并且在不应该使用时将其缩放(很容易以查看这种情况下插值和平滑窗口的原因),即使您使用的是本贴子中的尺寸。

因此,我制作了一个应用程序,并完成了所有DPI设置的工作,请在此处查看:
Windows 10所有DPI设置上的所有图标分辨率
您还可以使用我的应用程序创建图标,同时使用最近邻点插值并平滑处理,这没有完成。与我见过的任何不良编辑。

如果只需要以下分辨率:
16、20、24、28、30、31、32、40、42、47、48、56、60、63、84、256,
则应使用所有PNG图标以及放置的所有内容除了这些,它不会显示。看看我的帖子为什么。


7

不是96x96,请改用64x64。我通常使用:

  • 16-状态/标题栏按钮
  • 32-桌面图标
  • 48-文件夹视图
  • 64/128-其他尺寸

256在XP上也能正常工作,但是,旧的资源编译器有时会抱怨“内存不足”错误。


我已经看到您以前处理过Java。如何使用Java实现这种行为?问题是系统任务栏中显示的图标与标题栏中的图标相比要大得多,并且系统无法正确调整它们的大小。我最能做的是stage.getIcons()。add(image); 但它不会让我指定任务栏,文件夹视图或其他任何大小和所属位置。我正在使用JavaFX 8
homerun

1
@someFolk java编译为“类”文件或“ jar”文件(这是类文件+清单的zip)。换句话说,它不能编译为PE(Windows可执行文件)。但是,有一些工具可以为您构建包装器-基本上是一些小程序,其中包含jar作为资源(在程序运行时提取并运行)。这里答案提到了其中的一些。这意味着您的问题取决于所使用的程序。但是,有一些用于编辑资源的工具(例如:Resource Hacker
Christian

2

Microsoft MSDN建议

应用程序图标和控制面板项:全套包括16x16、32x32、48x48和256x256(代码比例在32和256之间)。.ico文件格式是必需的。对于经典模式,全套设置为16x16、24x24、32x32、48x48和64x64。

因此,我们已经有以下标准推荐尺寸:

  • 16 x 16
  • 24 x 24,
  • 32 x 32,
  • 48 x 48,
  • 64 x 64,
  • 256 x 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。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.