Які розміри значків має містити значок моєї програми Windows?


236

У мене є додаток для Windows, яке буде працювати в Windows XP і новіших версіях (тобто Vista / 7). Відповідно до Правил користувальницького інтерфейсу Vista , стандартні розміри - 16х16, 32х32, 48х48, 256х256 (типорозміри XP не включають піктограму 256х256). Окрім цих розмірів, у мене є також 96x96 та 128x128 (і я можу створити більше).

Який із цих розмірів значків я повинен включати? Чи справді оболонка буде використовувати "нестандартні" розміри, або я просто роздую свою програму?


3
Цей веб-сайт є чудовою орієнтацією на розміри значків для багатьох платформ: iconhandbook.co.uk/reference/chart
Mark Hatton

Відповіді:


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 + Mouse: 16, 32, 48, 256

Виконання Windows: ( звідси )

  • Основна плитка: 150x150, 310x150 (широка версія)
  • Невеликий логотип: 30x30
  • Бейдж (для блокування екрана): 24х24, однотонний
  • Бризок екрану: 620x300
  • Магазин: 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 (стиснутого) 256. Дивіться тут для отримання додаткової інформації.


12
Ну, тут написано, що також потрібно 64px, а в офіційних інструкціях із значками написано також 20px, 24px та 40px. Піктограма 40 пікселів, здається, використовується в alt + вкладках та кульках, інші, здається, використовуються залежно від DPI (наприклад, 20px використовується замість 16px на екрані більш високого DPI, інакше зменшується вниз від більшого розміру 32px, що може виглядати ще потворніше). Не перевірений.
Каміло Мартін

2
Я зробив ще кілька тестувань. Для відображення на робочому столі, коли я встановив його на 144dpi ("150%") у Windows 7, для найменшого значка використовувався значок 24px (якщо він є, інакше не завищений 16px). З інструкцій щодо значків, схоже, на Vista існує "Класичний режим", який також використовує значок 64px. Однак Windows 7 цим не користується. Швидше змінити розмір лише піктограми 256px.
Даніель Роуз

Цікаво, дякую за знахідки. У будь-якому випадку, я не знаю, скільки програм у дикій природі має більше 16, 32, 48 та (сподіваюся) 256 пікселів. Я б здогадався дуже мало. Але, можливо, користувачі помітять, адже одна ікона між рештою є більш чіткою.
Каміло Мартін

@Camilo Зауважте, що можна змінити розмір за допомогою CTRL + мишоподібного колеса, і всі розміри "проміжки" є призупиненими / зменшеними. Однак, що, безумовно, помічається, якщо значок 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%: Провідник використовує 20, 40 і 256. Проглядач фотографій Windows використовує 96. Paint використовує 256.
  • З роздільною здатністю 150%: Провідник використовує 24, 48 і 256. Програма перегляду фотографій Windows використовує 96. Paint використовує 256.
  • При роздільній здатності 200%: Провідник використовує 40, 64, 96 та 256. Для перегляду фотографій Windows використовується 128. Для фарби використовується 256.

Тож 8, 32 ніколи не використовувалися (мені це дивно для 32), а 128 - лише Windows Photo Viewer із дуже високим екраном dpi, тобто мигдаль ніколи не використовувався.

Це означає, що ваш значок повинен містити принаймні 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

Також варто згадати, що версії високої DPI потрібно зберігати в режимі 24bpp, я намагався зберігати їх у 8-бітовому кольоровому режимі, а Windows 7 використовував 256px версію замість 20x20px у 125% DPI.
Bartosz Wójcik

2
Це просто, але вичерпно. Дуже важливо враховувати DPI.
ceesay

24

Посібник із значків Microsoft UX говорить:

"Піктограми програм та елементи панелі керування. Повний набір включає 16x16, 32x32, 48x48 та 256x256 (шкала коду між 32 та 256)."

Для мене це означає (але, на жаль, прямо не зазначає, що ви повинні поставити ці 4 розміри).

Додаткові відомості щодо кольорових форматів, які також можуть бути вам корисними:

  • "Файли значків також потребують 8-бітної та 4-бітної версії палітри, щоб підтримувати налаштування за замовчуванням на віддаленому робочому столі."

  • "Необхідно включити лише 32-бітну копію зображення 256х256 пікселів, і лише зображення 256х256 пікселів слід стиснути [як PNG], щоб зменшити розмір файлу."


12

(Оновлена ​​відповідь для Windows 8/10)

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

Все-таки включайте .ICO-файл із цими розмірами, щоб підтримати застарілий досвід:

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

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

Не 96х96, використовуйте замість них 64х64. Я зазвичай використовую:

  • 16 - кнопка стану / заголовка
  • 32 - піктограма робочого столу
  • 48 - перегляд папки
  • 64/128 - Додаткові розміри

256 працює добре на XP, проте старі компілятори ресурсів іноді скаржилися на помилки "поза пам'яттю".


Я бачив, як ви мали справу з Java раніше. Як я можу реалізувати таку поведінку з Java? Проблема полягає в тому, що піктограма, показана на панелі системних завдань, значно більша порівняно з піктограмою в рядку заголовка, і система їх не може змінити належним чином. Найбільше, що я можу зробити, це stage.getIcons (). Add (image); але це не дозволить мені вказати, який розмір і де він належить, наприклад, панелі завдань, перегляду папок або будь-якого іншого. Я використовую JavaFX 8
homerun

1
@someFolk java компілює файли "class" або файл "jar" (це ZIP-файли класу + маніфест). Іншими словами, він не компілюється в PE (виконувані файли Windows). Однак є інструменти, які створюють обгортки для вас - в основному це невеликі програми, які містять банку як ресурс (який витягується та запускається при запуску програми). Відповідь тут згадує деякі з них це означає, що ваша проблема залежить від використовуваної програми. Однак є інструменти для редагування ресурсів (напр .: Resource Hacker )
Крістіан,

2

З рекомендацій Microsoft MSDN :

Піктограми програм та елементи панелі керування : Повний набір включає 16x16, 32x32, 48x48 та 256x256 (масштаби коду між 32 та 256). Формат файлу .ico обов'язковий. У класичному режимі повний набір - 16x16, 24x24, 32x32, 48x48 та 64x64.

Тож у нас вже є стандартні рекомендовані розміри:

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

Якщо ми хотіли б підтримувати високі налаштування DPI, повний список також буде включати такі розміри:

  • 20 х 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 х 384,
  • 512 x 512.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.