Jakie rozmiary ikon powinna zawierać ikona mojej aplikacji Windows?

236

Mam aplikację Windows, która będzie działać w systemie Windows XP i nowszych (tj. Vista / 7). Zgodnie z wytycznymi interfejsu użytkownika systemu Vista standardowe rozmiary to 16x16, 32x32, 48x48, 256x256 (standardowe rozmiary XP nie zawierają ikony 256x256). Oprócz tych rozmiarów mam też 96x96 i 128x128 (i mogę stworzyć więcej).

Który z tych rozmiarów ikon powinienem dołączyć? Czy powłoka faktycznie użyje „niestandardowych” rozmiarów, czy po prostu nadęję swoją aplikację?

Daniel Rose
źródło
3
Ta strona jest doskonałym źródłem informacji o rozmiarach ikon na wielu platformach: iconhandbook.co.uk/reference/chart
Mark Hatton

Odpowiedzi:

303

Poświęciłem trochę czasu na szczegółowe sprawdzenie. Utworzyłem ikonę, której obrazy mają rozmiary 16, 24, 32, 40, 48, 64, 96, 128 i 256. Następnie sprawdziłem, który obraz jest wyświetlany. Wszystko to wykonano przy normalnym 96dpi. Jeśli używasz większego DPI, można użyć większych rozmiarów (zaznaczono to tylko trochę w Windows 7). Wyniki:

Windows XP:

  • Widoki eksploratora:
    • Szczegóły / lista: 16
    • Ikony: 32
    • Płytki / miniatury: 48
  • Kliknij prawym przyciskiem myszy-> Właściwości / wybierz nową ikonę: 32
  • Obszar szybkiego startu: 16
  • Pulpit: 32

System Windows 7:

  • Widoki eksploratora:
    • Szczegóły / Lista / Małe symbole: 16
    • Wszystkie pozostałe opcje: 256 (w razie potrzeby zmiana rozmiaru)
  • Kliknij prawym przyciskiem myszy-> Właściwości / wybierz nową ikonę: 32
  • Przypięte do paska zadań: 32
    • Menu prawym przyciskiem myszy: 16
  • Pulpit:
    • Małe symbole: 32
    • Średnie symbole: 48
    • Duże symbole: 256 (w razie potrzeby przeskalowane)
    • Powiększanie za pomocą Ctrl + kółko myszy: 16, 32, 48, 256

Środowisko wykonawcze systemu Windows: ( stąd )

  • Płytka główna: 150x150, 310x150 (wersja szeroka)
  • Małe logo: 30x30
  • Znaczek (na ekranie blokady): 24x24, monochromatyczny
  • Ekran powitalny: 620 x 300
  • Sklep: 50x50

Tak więc wynik: Windows XP używa ikon o rozmiarach 16, 32, 48, podczas gdy Windows 7 (i prawdopodobnie także Vista) również używa ikon o rozmiarze 256. Wszystkie pozostałe rozmiary ikon pośrednich są ignorowane ( mogą być używane w obszarach, których nie sprawdziłem).


Sprawdziłem także w systemie Windows 7, co się stanie, jeśli brakuje rozmiarów ikon:

Brakujące rozmiary są generowane (oczywiście). W przypadku rozmiarów 16, 32 i 48, jeśli brakuje jednego, preferowane jest zmniejszanie. Jeśli więc mamy ikony w rozmiarze 16 i 48, ikona 32 jest tworzona z ikony 48. Ikona 256 jest używana tylko w przypadku, gdy nie są dostępne żadne inne rozmiary!Więc jeśli ikony mają rozmiar 16 i 256, inne rozmiary są powiększane w stosunku do ikony 16!

Dodatkowo, jeśli nie ma ikony 256, używana jest (prawdopodobnie wygenerowana) ikona 48, ale nie ma już zmiany jej rozmiaru. Mamy więc (prawdopodobnie duży) pusty obszar z ikoną 48 na środku.

Zauważ, że domyślny rozmiar ikony pulpitu w XP to 32x32, podczas gdy w Windows 7 to 48x48. W związku z tym dla systemu Windows 7 relatywnie ważna jest ikona 48. W przeciwnym razie zostanie przeskalowany z mniejszej ikony, która może wyglądać dość brzydko.


Tylko uwaga na temat zgodności z systemem Windows XP: jeśli ponownie użyjesz ikony jako ikony okna, pamiętaj, że może to spowodować awarię aplikacji, jeśli używasz skompresowanej ikony 256. Rozwiązaniem jest albo nie kompresowanie ikony, albo utworzenie drugiej wersji bez (skompresowanej) ikony 256. Zobacz tutaj, aby uzyskać więcej informacji.

Daniel Rose
źródło
12
Cóż, tutaj mówi, że 64px jest również wymagane, a zgodnie z oficjalnymi wytycznymi dotyczącymi ikon mówi, że 20px, 24px i 40px są również zalecane. Ikona 40px wydaje się być używana w alt + tab i dymkach, inne wydają się być używane w zależności od DPI (np. 20px zamiast 16px na ekranie o wyższej DPI, inaczej skalowane w dół od większego rozmiaru 32px, który może wyglądać jeszcze brzydsze). Nie testowałem.
Camilo Martin,
2
Zrobiłem trochę więcej testów. Do wyświetlania na pulpicie, gdy ustawię go na 144dpi („150%”) w systemie Windows 7, dla najmniejszej możliwej ikony używała ikony 24px (jeśli tam jest, inaczej uprezzed 16px). Z wytycznych dotyczących ikon wynika, że ​​w systemie Vista istnieje „Tryb klasyczny”, który również korzysta z ikony 64px. Jednak system Windows 7 go nie używa. Zamiast tego zmieniana jest tylko ikona 256 pikseli.
Daniel Rose
Ciekawe, dzięki za znaleziska. W każdym razie nie wiem, ile aplikacji na wolności ma więcej niż 16, 32, 48 i (miejmy nadzieję) 256 pikseli ikon. Domyślam się bardzo niewielu. Ale może użytkownicy zauważą, ponieważ jedna ikona między resztą jest wyraźniejsza.
Camilo Martin
@Camilo Należy pamiętać, że można zmienić rozmiar za pomocą CTRL + kółka myszy, a wszystkie „pośrednie” rozmiary są zwiększane / zmniejszane. Jednak zdecydowanie należy zauważyć, że brakuje ikony 48px, ponieważ jest to rozmiar używany na domyślnym pulpicie systemu Windows 7.
Daniel Rose
3
I brakuje jej połowy czasu, jeśli aplikacja jest narzędziem i niezbyt popularnym oprogramowaniem, lub starym ... Nawet niektóre ikony Visual Studio (te dla typów plików) nie mają nawet wersji 48px.
Camilo Martin
28

Po kilku testach z ikoną 8, 16, 20, 24, 32, 40, 48, 64, 96, 128 i 256 pikseli (256 w PNG) w Windows 7:

  • Przy rozdzielczości 100%: Explorer używa 16, 40, 48 i 256. Przeglądarka fotografii systemu Windows używa 96. Farba używa 256.
  • Przy rozdzielczości 125%: Explorer używa 20, 40 i 256. Przeglądarka fotografii systemu Windows używa 96. Farba używa 256.
  • Przy rozdzielczości 150%: Explorer używa 24, 48 i 256. Przeglądarka fotografii systemu Windows używa 96. Farba używa 256.
  • Przy rozdzielczości 200%: Explorer używa 40, 64, 96 i 256. Przeglądarka fotografii systemu Windows używa 128. Farba używa 256.

Więc 8, 32 nigdy nie były używane (to dziwne dla 32), a 128 tylko w Windows Photo Viewer z ekranem o bardzo wysokiej rozdzielczości, tj. Almot nigdy nie był używany.

Oznacza to, że ikona powinna mieć co najmniej 16, 48 i 256 dla Windows 7. W celu obsługi nowszych ekranów o wysokiej rozdzielczości należy podać 16, 20, 24, 40, 48, 64, 96 i 256. W systemie Windows 7 wszystkie zdjęcia można kompresować za pomocą PNG, ale dla kompatybilności wstecznej z Windows XP, 16 do 48 nie powinno być kompresowane.

Futal
źródło
Zobacz moją odpowiedź tutaj ( stackoverflow.com/questions/12385143/... ), ale jeśli skompresujesz obraz 256x256 w pliku .ico ... Systemy Windows XP będą miały problem z otwarciem pliku. Otrzymasz wyjątek FileFormatException z HRESULT 0x88982F07.
cplotts
Warto również wspomnieć, że te wersje o wysokiej DPI muszą być zapisywane w trybie 24bpp, próbowałem przechowywać je w 8-bitowym trybie kolorów, a Windows 7 używał wersji 256px zamiast 20x20px w 125% DPI.
Bartosz Wójcik
2
To proste, ale wyczerpujące. Bardzo ważne, aby wziąć pod uwagę DPI.
caesay
24

Microsoft UX ikona wytyczna mówi:

„Ikony aplikacji i elementy Panelu sterowania: pełny zestaw obejmuje 16 x 16, 32 x 32, 48 x 48 i 256 x 256 (skala kodu między 32 a 256).”

Dla mnie oznacza to (ale nie mówi niestety niestety), że powinieneś dostarczyć te 4 rozmiary.

Dodatkowe szczegóły dotyczące formatów kolorów, które mogą być również przydatne:

  • „Pliki ikon wymagają także 8-bitowych i 4-bitowych wersji palet, aby obsługiwać ustawienia domyślne na pulpicie zdalnym”.

  • „Należy uwzględnić tylko 32-bitową kopię obrazu 256 x 256 pikseli, a tylko obraz 256 x 256 pikseli należy skompresować [jako PNG], aby zmniejszyć rozmiar pliku”.

złóg
źródło
12

W przypadku systemu Windows 10 nie jest to dokładnie dokładne, w rzeczywistości żadna z odpowiedzi na temat przepełnienia stosu nie była, dowiedziałem się tego, gdy próbowałem użyć grafiki pikselowej jako ikony i przeskalowano ją, gdy nie powinna (to było łatwe aby zobaczyć w tym przypadku przyczynę interpolacji i wygładzania okien), nawet jeśli użyłem rozmiarów z tego postu.

Więc stworzyłem aplikację i pracowałem nad wszystkimi ustawieniami DPI, zobacz tutaj:
Windows 10 wszystkie rozdzielczości ikon we wszystkich ustawieniach DPI
Możesz również używać mojej aplikacji do tworzenia ikon, również z interpolacją najbliższego sąsiada z wygładzaniem, co nie jest zrobione z którymkolwiek ze złych redaktorów, których widziałem.

Jeśli chcesz tylko rozdzielczości:
16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84, 256
i powinieneś używać wszystkich ikon PNG i wszystkiego, co wstawisz oprócz nich nie będzie wyświetlany. Zobacz mój post dlaczego.

z4k
źródło
7

Nie 96x96, zamiast tego użyj 64x64. Zwykle używam:

  • 16 - przycisk statusu / paska tytułu
  • 32 - ikona pulpitu
  • 48 - widok folderu
  • 64/128 - Dodatkowe rozmiary

256 działa również na XP, jednak stare kompilatory zasobów czasami narzekały na błędy „braku pamięci”.

chrześcijanin
źródło
Widziałem, że wcześniej zajmowałeś się Javą. Jak mogę zaimplementować takie zachowanie w Javie? Problem polega na tym, że ikona pokazana na pasku zadań systemu jest znacznie większa w porównaniu z ikoną na pasku tytułu i że system nie może odpowiednio zmienić jej rozmiaru. Jedyne, co mogę zrobić, to stage.getIcons (). Add (image); ale nie pozwala mi określić, jaki rozmiar i gdzie należy, na przykład pasek zadań, widok folderów lub jakikolwiek inny. Używam JavaFX 8
homerun
1
@someFolk java kompiluje się do plików „klasy” lub pliku „jar” (który jest plikiem zip plików klasy + manifestu). Innymi słowy, nie kompiluje się do PE (pliki wykonywalne systemu Windows). Istnieją jednak narzędzia, które budują dla Ciebie opakowania - w zasadzie małe programy, które zawierają jar jako zasób (który jest rozpakowywany i uruchamiany podczas uruchamiania programu). Odpowiedź tutaj wymienia kilka z nich , co to oznacza to, że problem zależy od programu, którego używasz. Istnieją jednak narzędzia do edycji zasobów (np .: Resource Hacker )
Christian
2

Z zaleceń Microsoft MSDN :

Ikony aplikacji i elementy Panelu sterowania : pełny zestaw obejmuje 16 x 16, 32 x 32, 48 x 48 i 256 x 256 (skala kodu od 32 do 256). Wymagany jest format pliku .ico. W trybie klasycznym pełny zestaw to 16x16, 24x24, 32x32, 48x48 i 64x64.

Mamy więc standardowe zalecane rozmiary:

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

Jeśli chcielibyśmy obsługiwać ustawienia wysokiej DPI, pełna lista będzie zawierać również następujące rozmiary:

  • 20 x 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 x 384,
  • 512 x 512.
Jacek Krawczyk
źródło