Какие размеры значков должен включать значок моего приложения 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 не должны быть сжаты.

Futal
источник
Смотрите мой ответ здесь ( 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
jaminroe
источник
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 и все, что вы положили в кроме этого он не будет отображаться. Смотри мой пост почему.

z4k
источник
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
Яцек Кравчик
источник