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ę?
Odpowiedzi:
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:
System Windows 7:
Środowisko wykonawcze systemu Windows: ( stąd )
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.
źródło
Po kilku testach z ikoną 8, 16, 20, 24, 32, 40, 48, 64, 96, 128 i 256 pikseli (256 w PNG) w Windows 7:
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.
źródło
Microsoft UX ikona wytyczna mówi:
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:
źródło
(Zaktualizowana odpowiedź dla Windows 8/10)
Zobacz pełną listę wytycznych i rozmiarów tutaj, w nowych wytycznych projektowania systemu Windows: https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset rodzaje
Nadal dołączaj plik .ICO o tych rozmiarach, aby zapewnić obsługę starszych wersji:
źródło
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.
źródło
Nie 96x96, zamiast tego użyj 64x64. Zwykle używam:
256 działa również na XP, jednak stare kompilatory zasobów czasami narzekały na błędy „braku pamięci”.
źródło
Z zaleceń Microsoft MSDN :
Mamy więc standardowe zalecane rozmiary:
Jeśli chcielibyśmy obsługiwać ustawienia wysokiej DPI, pełna lista będzie zawierać również następujące rozmiary:
źródło