У меня есть приложение для Windows, которое будет работать в Windows XP и новее (то есть Vista / 7). В соответствии с Руководством по пользовательскому интерфейсу Vista стандартные размеры составляют 16x16, 32x32, 48x48, 256x256 (стандартные размеры XP не включают значок 256x256). В дополнение к этим размерам у меня также есть 96x96 и 128x128 (и я мог бы создать больше).
Какие из этих размеров значков я должен включить? Будет ли оболочка на самом деле использовать «нестандартные» размеры, или я просто раздую свое приложение?
Ответы:
Я потратил некоторое время, чтобы проверить это подробно. Я создал значок, изображения которого имеют размеры 16, 24, 32, 40, 48, 64, 96, 128 и 256. Затем я проверил, какое изображение отображается. Все это было сделано с нормальным 96 точек на дюйм. При использовании большего DPI могут использоваться большие размеры (только проверено это немного в Windows 7). Результаты:
Windows XP:
Windows 7:
Среда выполнения Windows: ( отсюда )
Итак, результат: 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. Смотрите здесь для получения дополнительной информации.
источник
После некоторого тестирования с иконкой с 8, 16, 20, 24, 32, 40, 48, 64, 96, 128 и 256 пикселей (256 в PNG) в Windows 7:
Таким образом, 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 не должны быть сжаты.
источник
Руководство по значкам Microsoft UX гласит:
Для меня это подразумевает (но, к сожалению, не указывает), что вы должны предоставить эти 4 размера.
Дополнительные сведения о цветовых форматах, которые вы также можете найти полезными:
источник
(Обновленный ответ для Windows 8/10)
Просмотрите полный список рекомендаций и размеров здесь, в новых рекомендациях по дизайну Windows: https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset -типы
Все еще включите файл .ICO с этими размерами для поддержки устаревшего опыта:
источник
В случае с Windows 10 это не совсем точно, на самом деле ни один из ответов на stackoverflow не был, я узнал об этом, когда попытался использовать пиксельную графику в качестве значка, и он был изменен, когда не предполагалось (это было легко чтобы увидеть в этом случае причину интерполяции и сглаживания окон) даже ты использовал размеры из этого поста.
Поэтому я создал приложение и выполнил работу со всеми настройками DPI, см. Его здесь:
Windows 10 все разрешения значков для всех настроек DPI
Вы также можете использовать мое приложение для создания значков, также с интерполяцией ближайшего соседа с сглаживанием, что не делается с любым из плохих редакторов, которых я видел.
Если вам нужны только разрешения:
16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84, 256,
и вы должны использовать все значки PNG и все, что вы положили в кроме этого он не будет отображаться. Смотри мой пост почему.
источник
Не 96x96, вместо этого используйте 64x64. Я обычно использую:
256 работает и на XP, однако старые компиляторы ресурсов иногда жаловались на ошибки «нехватки памяти».
источник
Из рекомендаций Microsoft MSDN :
Таким образом, у нас уже есть стандартные рекомендуемые размеры:
Если мы хотим поддерживать параметры высокого разрешения, полный список будет также включать следующие размеры:
источник