代码之家  ›  专栏  ›  技术社区  ›  Daniel Rose

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

  •  225
  • Daniel Rose  · 技术社区  · 14 年前

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

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

    7 回复  |  直到 10 年前
        1
  •  307
  •   Elijah    4 年前

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

    Windows XP操作系统:

    • 资源管理器视图:
      • 详情/清单:16
      • 图标:32
      • 瓷砖/缩略图:48
    • 右键单击->属性/选择新图标:32
    • 快速启动区域:16

    Windows 7:

    • 资源管理器视图:
      • 细节/列表/小符号:16
    • 固定到任务栏:32
      • 右击菜单:16
      • 小符号:32
      • 中等符号:48

    Windows运行时:( from here )

    • 徽章(用于锁屏):24x24,单色
    • 商店:50x50

    结果是:windowsxp使用16、32、48大小的图标,而windows7(也可能是Vista)也使用256大小的图标。 忽略所有其他中间图标大小 (他们 可以 在一些我没有检查过的地方使用)。


    丢失的尺寸会生成(显然)。对于16、32和48的尺寸,如果缺少一个,则首选缩小尺寸。因此,如果我们有16和48大小的图标,那么32图标是从48图标创建的。 256图标仅在没有其他尺寸可用时才用于这些! 因此,如果图标的大小是16和256,其他大小是从16图标放大!

    此外,如果256图标不存在,则使用(可能生成的)48图标,但不再调整大小。所以我们有一个(可能很大)空区域,中间有48个图标。

    请注意,XP中的默认桌面图标大小为32x32,而Windows7中的默认桌面图标大小为48x48。 否则,它将从一个较小的图标放大,这可能看起来很难看。


    关于windowsxp兼容性的一个注意事项:如果您将图标重新用作窗口图标,那么请注意,如果您使用压缩的256图标,这可能会导致应用程序崩溃。解决方案是要么不压缩图标,要么创建没有(压缩的)256图标的第二个版本。看到了吗 here 更多信息。

        2
  •  29
  •   Futal    12 年前

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

    • 100%分辨率:Explorer使用16、40、48和256。Windows照片查看器使用96。油漆使用256。
    • 分辨率为125%:Explorer使用20、40和256。Windows照片查看器使用96。油漆使用256。
    • 在200%分辨率下:Explorer使用40、64、96和256。Windows照片查看器使用128。油漆使用256。

    所以8,32从来没有被使用过(对于32来说我很奇怪),128只被具有非常高dpi屏幕的Windows照片查看器使用过,即almot从未使用过。

    这意味着你的图标应该至少为Windows7提供16,48和256。为了支持高分辨率的新屏幕,您应该提供16、20、24、40、48、64、96和256。对于Windows7,所有图片都可以使用PNG压缩,但是为了与WindowsXP向后兼容,不应该压缩16到48。

        3
  •  24
  •   stone    10 年前

    Microsoft UX icon guideline 说:

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

    对我来说,这意味着(但没有明确指出,不幸的是),你应该提供这4个大小。

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

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

    • “只应包含256x256像素图像的32位副本,并且只应将256x256像素图像压缩为PNG以减小文件大小。”

        4
  •  14
  •   Community CDub    8 年前

    在Windows10的情况下,这是不完全准确的,事实上没有一个关于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 为什么?

        5
  •  12
  •   Megaroeny    8 年前

    (针对Windows 8/10的更新答案)

    https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset-types

    仍然包括以下大小的.ICO文件以支持传统体验:

    • 24x24个
    • 32x32英寸
    • 256x256毫米
        6
  •  7
  •   Christian    14 年前

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

    • 16-状态/标题栏按钮
    • 48-文件夹视图

    256也适用于XP,但是,旧的资源编译器有时会抱怨“内存不足”错误。

        7
  •  2
  •   Jacek Krawczyk    7 年前

    Microsoft MSDN recommendations :

    :整套包括16x16、32x32、48x48和256x256(代码比例在32和256之间)。需要.ico文件格式。对于经典模式,全套为16x16、24x24、32x32、48x48和64x64。

    • 16 x 16英寸,
    • 24 x 24小时,
    • 32 x 32英寸,
    • 64 x 64英寸,
    • 256 x 256英寸。

    如果我们希望支持高DPI设置,完整列表还将包括以下尺寸:

    • 20 x 20英寸,
    • 30 x 30英寸,
    • 36 x 36毫米,
    • 60 x 60英寸,
    • 80 x 80毫米,
    • 96 x 96毫米,
    • 128 x 128毫米,
    • 320 x 320毫米,
    • 384 x 384毫米,
    • 512 x 512英寸。
        8
  •  0
  •   l33t    4 年前

    热释光;伊恩博士 Visual Studio 2019 ,当您添加 Icon 资源到 Win32 Windows compatible应具有以下格式:

    | 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   |