Какие размеры значков должен включать значок моего приложения Windows?


236

У меня есть приложение для Windows, которое будет работать в Windows XP и новее (то есть Vista / 7). В соответствии с Руководством по пользовательскому интерфейсу Vista стандартные размеры составляют 16x16, 32x32, 48x48, 256x256 (стандартные размеры XP не включают значок 256x256). В дополнение к этим размерам у меня также есть 96x96 и 128x128 (и я мог бы создать больше).

Какие из этих размеров значков я должен включить? Будет ли оболочка на самом деле использовать «нестандартные» размеры, или я просто раздую свое приложение?


3
Этот сайт является отличным справочником по размерам значков для многих платформ: iconhandbook.co.uk/reference/chart
Марк Хаттон

Ответы:


303

Я потратил некоторое время, чтобы проверить это подробно. Я создал значок, изображения которого имеют размеры 16, 24, 32, 40, 48, 64, 96, 128 и 256. Затем я проверил, какое изображение отображается. Все это было сделано с нормальным 96 точек на дюйм. При использовании большего 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 (широкая версия)
  • Маленький логотип: 30х30
  • Значок (для экрана блокировки): 24x24, монохромный
  • Заставка: 620х300
  • Магазин: 50х50

Итак, результат: Windows XP использует значки размером 16, 32, 48, а Windows 7 (и, вероятно, также Vista) также использует значки размером 256. Все остальные промежуточные размеры значков игнорируются (они могут использоваться в некоторых областях, которые я не проверял).


Я также проверил в Windows 7, что происходит, если отсутствуют размеры значков:

Пропущенные размеры генерируются (очевидно). С размерами 16, 32 и 48, если один отсутствует, предпочтительнее уменьшение. Так что, если у нас есть иконки размером 16 и 48, значок 32 создается из значка 48. Значок 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 (например, 20px используется вместо 16px на экране с более высоким DPI, в противном случае уменьшенный размер от большего размера 32px, который может выглядеть еще страшнее). Не проверял
Камило Мартин

2
Я сделал еще несколько испытаний. Для отображения на рабочем столе, когда я установил его на 144 dpi («150%») в Windows 7, для наименьшего возможного значка использовался значок 24px (если он есть, в противном случае он повышается до 16px). Из руководств по значкам, похоже, есть «классический режим» в Vista, который также использует значок 64px. Тем не менее, Windows 7 не использует его. Скорее, только значок 256px изменяется.
Даниэль Роуз

Интересно, спасибо за находки. В любом случае, я не знаю, сколько приложений в дикой природе имеют значки более 16, 32, 48 и (надеюсь) 256 пикселей. Я думаю, очень мало. Но, может быть, пользователи заметят, потому что один значок между остальными является более четким.
Камило Мартин

@Camilo Обратите внимание, что можно изменить размер с помощью CTRL + Mousewheel, и все «промежуточные» размеры увеличиваются / уменьшаются. Тем не менее, что определенно замечено, так это если значок 48px отсутствует, так как это размер, используемый на рабочем столе Windows 7 по умолчанию.
Даниэль Роуз

3
И половину времени не хватает, если приложение является утилитой и не очень популярным программным обеспечением, или старым ... Даже некоторые значки Visual Studio (для типов файлов) даже не имеют версий 48px.
Камило Мартин

28

После некоторого тестирования с иконкой с 8, 16, 20, 24, 32, 40, 48, 64, 96, 128 и 256 пикселей (256 в PNG) в Windows 7:

  • При разрешении 100%: Explorer использует 16, 40, 48 и 256. Средство просмотра фотографий Windows использует 96. Paint использует 256.
  • При разрешении 125%: Explorer использует 20, 40 и 256. Средство просмотра фотографий Windows использует 96. Paint использует 256.
  • При разрешении 150%: Explorer использует 24, 48 и 256. Windows Photo Viewer использует 96. Paint использует 256.
  • При разрешении 200%: Explorer использует 40, 64, 96 и 256. Средство просмотра фотографий Windows использует 128. Paint использует 256.

Таким образом, 8, 32 никогда не использовались (для меня это странно для 32), а 128 только Windows Photo Viewer с очень высоким разрешением экрана, т.е. almot никогда не использовался.

Это означает, что ваш значок должен по крайней мере обеспечить 16, 48 и 256 для Windows 7. Для поддержки новых экранов с высоким разрешением вы должны предоставить 16, 20, 24, 40, 48, 64, 96 и 256. Для Windows 7 все Изображения могут быть сжаты с использованием PNG, но для обратной совместимости с Windows XP, 16 - 48 не должны быть сжаты.


Смотрите мой ответ здесь ( stackoverflow.com/questions/12385143/… ), но если вы сжимаете изображение 256x256 в файле .ico ... Системы Windows XP будут иметь проблемы с открытием файла. Вы получите FileFormatException с HRESULT 0x88982F07.
cplotts

Стоит также упомянуть, что версии с высоким разрешением должны быть сохранены в режиме 24 бит / дюйм, я пытался сохранить их в 8-битном цветном режиме, и Windows 7 использовала версию 256 пикселей вместо 20 × 20 пикселей с разрешением 125%.
Бартош Войчик

2
Это просто, но исчерпывающе. Очень важно учитывать DPI.
Цезай

24

Руководство по значкам Microsoft UX гласит:

«Значки приложений и элементы панели управления: полный набор включает 16x16, 32x32, 48x48 и 256x256 (код масштабируется между 32 и 256)».

Для меня это подразумевает (но, к сожалению, не указывает), что вы должны предоставить эти 4 размера.

Дополнительные сведения о цветовых форматах, которые вы также можете найти полезными:

  • «Для файлов значков требуются версии 8-битной и 4-битной палитры, чтобы поддерживать настройки по умолчанию на удаленном рабочем столе».

  • «Должна быть включена только 32-битная копия изображения 256x256 пикселей, и только изображение 256x256 пикселей должно быть сжато [как PNG], чтобы уменьшить размер файла».


12

(Обновленный ответ для Windows 8/10)

Просмотрите полный список рекомендаций и размеров здесь, в новых рекомендациях по дизайну Windows: https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset -типы

Все еще включите файл .ICO с этими размерами для поддержки устаревшего опыта:

  • 16x16
  • 24x24
  • 32х32
  • 48x48
  • 256x256

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 компилируется в файлы «class» или «jar» (которые представляют собой zip файлов классов + манифест). Другими словами, он не компилируется в PE (исполняемые файлы Windows). Тем не менее, существуют инструменты, которые создают оболочки для вас - в основном небольшие программы, которые содержат jar как ресурс (который извлекается и запускается при запуске программы). В ответе здесь упоминается несколько из них. Это означает, что ваша проблема зависит от программы, которую вы используете. Тем не менее, есть инструменты для редактирования ресурсов (например: Resource Hacker )
Кристиан,

2

Из рекомендаций Microsoft MSDN :

Значки приложений и элементы панели управления : полный набор включает 16x16, 32x32, 48x48 и 256x256 (код масштабируется между 32 и 256). Требуется формат файла .ico. Для классического режима полный набор составляет 16x16, 24x24, 32x32, 48x48 и 64x64.

Таким образом, у нас уже есть стандартные рекомендуемые размеры:

  • 16 х 16,
  • 24 х 24,
  • 32 х 32,
  • 48 х 48,
  • 64 х 64,
  • 256 х 256.

Если мы хотим поддерживать параметры высокого разрешения, полный список будет также включать следующие размеры:

  • 20 х 20,
  • 30 х 30,
  • 36 х 36,
  • 40 х 40,
  • 60 х 60,
  • 72 х 72,
  • 80 х 80,
  • 96 х 96,
  • 128 х 128,
  • 320 х 320,
  • 384 х 384,
  • 512 х 512
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.