Barva motivu v ikonách na taskbaru Windows 10

Development WinUI Microsoft

8 years ago

Poslední buildy Technical Preview Windows 10 (konkrétně z veřejných 10547 a výše) získaly velmi zajímavou novinku u ikon systémových WinRT aplikací jako jsou Store, Outlook Mail, Outlook Kalendář a Fotky. Když se na ikony těchto aplikací v taskbaru podíváte blíže, zjistíte, že některé jejich části jsou vyplněny systémovou barvou motivu. ColorizedColorizedBlue Zajímalo mě, jak tohoto bylo dosaženo. Průhledná barva se používá na vytvoření "průhledných" částí ikony, ale jak se specifikují části pro nahrazení barvou motivu? Předpokládal jsem, že půjde o nějakou speciální "výchozí" barvu. A ukázalo se, že to byl předpoklad správný! PhotosAppIcon Když se podíváte na obrázkové podklady aplikace Fotky, můžete si všimnout překvapivě velkého množství různých ikon typu "AppList" nebo "Square 44x44 Logo", jak to je označováno ve Visual Studiu. Normální ikony pro odpovídající škálování zde najdeme po boku dalších se suffixem ".targetsize-". Tyto jsou nabízeny ve Visual Studiu pouze pro čtyři různé velikosti - 256, 48, 24 a 16 pixelů. Zřejmě je však možné poskytnout systému i další velikosti pro ještě granulárnější škálování - 100, 96, 80, 64, 40, 32 or 20 pixelů. Ale zde to začíná být zajímavé! Mezi ikonami najdeme i další suffixy:

  • contrast-black_targetsize- - bílá a transparentní ikona (pro režim vysokého kontrastu pro usnadnění přístupu)
  • contrast-white_targetsize- - černá a transparentní ikona (pro režim vysokého kontrastu pro usnadnění přístupu)
  • targetsize-_altform-colorize - ikona aplikace obarvená barvou motivu - to je ta, kterou jsme hledali!
  • targetsize-_altform-unplated_contrast-white - ikona aplikace na taskbar s průhledností (pro režim vysokého kontrastu pro usnadnění přístupu)
  • targetsize-_altform-unplated - ikona aplikace na taskbar s průhledností
  • targetsize-_altform-fullcolor - ikony, které se používají pro souborové asociace v průzkumníku souborů - plnobarevné

To je velký počet nedokumentováných typů ikon :-) ! Ta která je pro nás ale nejzajímavější je targetsize-_altform-colorize. Obrázky s touto koncovkou v názvu se skládají z průhledné barvy (která je potom na taskbaru - překvapivě - průhledná), z jakýchkoliv dalších barev (obvykle však bílé) a nakonec černé barvy, která je systémem nahrazena barvou motivu systému! Přestože oficiální zdroje a dokumentace o těchto typech aplikačních ikon zatím nemluví, již nyní mouhou vývojáři tyto speciální typy ikon využívat ve svých aplikacích. Jediné, co pro to musíte udělat, je zahrnout další obrázky s odpovídajícím pojmenováním po bok ostatních ikon aplikace v balíčku a systém se již sám správně rozhodne, který z nich použít. Toto otevírá další prostor pro kreativitu vývojářů, aby jejich aplikace vypadaly na Windows 10 ještě živěji.

Ukázkový projekt

Zde si můžete stáhnout ukázkový projekt. Jde vlastně o úplně základní Windows 10 aplikaci vytvořenou pomocí prázdné šablony s pouze jedním obrázkovým souborem ve složce Assets navíc - Square44x44Logo.targetsize-64_altform-colorize.png. V tomto jediném souboru tkví celé kouzlo! Jakmile aplikaci spustíte, uvidíte na hlavním panelu vašeho systému velmi pěknou ikonu s barvou systémového motivu. Pokud si systémovou barvu změníte, ikona se změní také :-) . Square44x44Logo.targetsize-64_altform-colorize