Dziwne ikony w aplikacjach akcesorii Windows

0

W pliku oryginalnego Notatnika systemu Windows znalazłem dziwną rzecz. Jest nią jakby zardzewiała ikona, następująca po tej zwykłej. Występuje we wszystkich rozmiarach, oto przykład takiego dziwactwa: screenshot-20200227170520.png. Coś takiego jest też w kalkulatorze i szacuję że w wielu innych aplikacjach. Mam pytanie do czego to służy, skąd się wzięło i czy jest szansa na zobaczenie zardzewiałych ikon z poziomu interfejsu użytkownika.

1

nigdy nie używałeś windowsów 95/98 lub starszych? :)

0

Aż sprawdziłem co tam siedzi w notepad.exe

Okazuje się że ikonka w Notatniku jest jedna.
Jedna, ale zawierająca 13 bitmap w różnych rozdzielczościach i głębiach koloru:
256x256x32b, 48x48x32b, 32x32x32b, 24x24x32b, 16x16x32b, 32x32x32b, 48x48x8b, 24x24x8b, 32x32x8b, 16x16x8b, 48x48x4b, 24x24x4b, 32x32x4b, 16x16x4b.

Ikonka windowsowa może stanowić samodzielny plik o rozszerzeniu .ico albo być embedowana jako “resource” w pliku .exe lub .dll (albo bibliotece ikon .icl - tak naprawdę to jest DLL-ka bez sensownego kodu ale z wieloma ikonkami). W każdym przypadku jedna taka ikonka zawierać może wiele bitmap o różnych rozmiarach i głębiach koloru.

Wytyczne jakie to mają być rozdzielczości i głębie zmieniały się w czasie, z tendencją zwyżkową.

Za czasów Windows 9x pełnowymiarowa ikonka miała 32x32 piksele, a normą było 256 kolorów plus jednobitowa przezroczystość.
32-bitowy kolor pojawił się w Windows XP (24 bity koloru + 8 bitów przezroczystości), a standardowy rozmiar to 48x48.
W Windows Vista ikonki zaczęły mieć maksymalny rozmiar 256x256.

O tym która bitmapa z dostępnych w danej ikonce zostanie rzeczywiście narysowana decyduje wersja Windowsa i kontest w jakim ikonka ma być użyta, zwłaszcza jej docelowy rozmiar, aktualna głębia kolorów i ustawienie DPI ekranu.
Przykładowo skrót do Notatnika umieszczony na pulpicie przy średnim ustawieniu rozmiaru ikon i dpi 100% użyje wersji 48x48. Po uruchomieniu programu w lewym górnym rogu okna zobaczymy wariant 16x16.
W oknie folderu kombinacją ctrl+kółko można płynnie zmieniać rozmiar ikonek. Windows dobierze najbardziej pasującą bitmapę i ją docelowo jeszcze przeskaluje.

Co do różnych głębi kolorów, co prawda od czasu Windows 8 nie da się normalnie mieć innej głębi ekranu niż 32 bity, jest to jednak nadal możliwe przez Zdalny Pulpit na przykład.

1 użytkowników online, w tym zalogowanych: 0, gości: 1