Prohlížeč knihovny obrázků
Nástroj Visual Studio Image Library Viewer může načíst a prohledávat manifesty obrázků, což uživateli umožňuje manipulovat s nimi stejným způsobem jako v sadě Visual Studio. Uživatel může změnit pozadí, velikosti, DPI, vysoký kontrast a další nastavení. Nástroj také zobrazí informace o načítání pro každý manifest obrázku a zobrazí informace o zdroji pro každý obrázek v manifestu obrázku. Tento nástroj je užitečný pro:
Diagnostika chyb
Zajištění správného nastavení atributů v manifestech vlastních imagí
Hledání obrázků v katalogu imagí sady Visual Studio tak, aby rozšíření sady Visual Studio mohly používat obrázky, které odpovídají stylu sady Visual Studio
Moniker obrázku
Moniker image (nebo moniker for short) je dvojice GUID:ID, která jedinečně identifikuje prostředek image nebo prostředek seznamu obrázků v knihovně obrázků.
Soubory manifestu obrázku
Soubory manifestu obrázku (.imagemanifest) jsou soubory XML, které definují sadu prostředků image, monikery, které představují tyto prostředky, a skutečný obrázek nebo obrázky, které představují každý prostředek. Manifesty obrázků můžou definovat samostatné image nebo seznamy obrázků pro podporu starší verze uživatelského rozhraní. Kromě toho existují atributy, které lze nastavit buď u prostředku, nebo na jednotlivých obrázcích za každým assetem, aby se změnilo, kdy a jak se tyto prostředky zobrazují.
Schéma manifestu obrázku
Úplný manifest obrázku vypadá takto:
<ImageManifest>
<!-- zero or one Symbols elements -->
<Symbols>
<!-- zero or more Guid, ID, or String elements -->
</Symbols>
<!-- zero or one Images elements -->
<Images>
<!-- zero or more Image elements -->
</Images>
<!-- zero or one ImageLists elements -->
<ImageLists>
<!-- zero or more ImageList elements -->
</ImageLists>
</ImageManifest>
Symboly
Jako pomůcku pro čitelnost a údržbu může manifest obrázku používat symboly pro hodnoty atributů. Symboly jsou definovány takto:
<Symbols>
<Import Manifest="manifest" />
<Guid Name="ShellCommandGuid" Value="8ee4f65d-bab4-4cde-b8e7-ac412abbda8a" />
<ID Name="cmdidSaveAll" Value="1000" />
<String Name="AssemblyName" Value="Microsoft.VisualStudio.Shell.UI.Internal" />
<!-- If your assembly is strongly named, you'll need the version and public key token as well -->
<!-- <String Name="AssemblyName" Value="Microsoft.VisualStudio.Shell.UI.Internal;v17.0.0.0;b03f5f7f11d50a3a" /> -->
</Symbols>
Dílčím | Definice |
---|---|
Importovat | Importuje symboly daného souboru manifestu pro použití v aktuálním manifestu. |
Guid | Symbol představuje identifikátor GUID a musí odpovídat formátování GUID. |
ID | Symbol představuje ID a musí být nenegativní celé číslo. |
String | Symbol představuje libovolnou řetězcovou hodnotu. |
Symboly rozlišují malá a velká písmena a odkazují se na ni pomocí syntaxe $(symbol-name):
<Image Guid="$(ShellCommandGuid)" ID="$(cmdidSaveAll)" >
<Source Uri="/$(AssemblyName);Component/Resources/image.xaml" />
</Image>
Některé symboly jsou předdefinované pro všechny manifesty. Ty lze použít v atributu <Uri prvku Source> nebo <Import> k odkazování cest na místním počítači.
Symbol | Popis |
---|---|
CommonProgramFiles | Hodnota proměnné prostředí %CommonProgramFiles% |
LocalAppData | Hodnota proměnné prostředí %LocalAppData% |
ManifestFolder | Složka obsahující soubor manifestu |
Mydocuments | Úplná cesta ke složce Dokumenty aktuálního uživatele |
Programfiles | Hodnota proměnné prostředí %ProgramFiles% |
Systémová | Složka Windows\System32 |
Windir | Hodnota proměnné prostředí %WinDir% |
Obrázek
Element <Image> definuje image, na kterou lze odkazovat pomocí monikeru. Identifikátor GUID a ID pořízené společně tvoří moniker image. Moniker obrázku musí být jedinečný v celé knihovně obrázků. Pokud má daný moniker více než jeden obrázek, první obrázek, ke kterému došlo při vytváření knihovny, je ten, který je zachován.
Musí obsahovat alespoň jeden zdroj. I když zdroje s neutrální velikostí poskytnou nejlepší výsledky v široké škále velikostí, nevyžadují se. Pokud je služba požádána o obrázek velikosti, která není definovaná v <prvku Image> a neexistuje žádný zdroj neutrální velikosti, služba zvolí nejlepší zdroj specifický pro danou velikost a škáluje ho na požadovanou velikost.
<Image Guid="guid" ID="int" AllowColorInversion="true/false">
<Source ... />
<!-- optional additional Source elements -->
</Image>
Atribut | Definice |
---|---|
Guid | [Povinné] Část identifikátoru GUID v monikeru obrázku |
ID | [Povinné] Část ID monikeru obrázku |
AllowColorInversion | [Volitelné, výchozí hodnota true] Označuje, jestli může mít obrázek barvy invertované programově při použití na tmavém pozadí. |
Source
Element <Source> definuje jeden zdrojový prostředek obrázku (XAML a PNG).
<Source Uri="uri" Background="background">
<!-- optional NativeResource element -->
</Source>
Atribut | Definice |
---|---|
Identifikátor URI | [Povinné] Identifikátor URI, který definuje, odkud lze image načíst. Může se zobrazit některý z následujících: – Identifikátor URI balíčku používající autoritu application:/// – Absolutní referenční informace k prostředkům komponenty – Cesta k souboru obsahujícímu nativní prostředek |
Pozadí | [Volitelné] Určuje, co se má zdroj použít na pozadí. Může se zobrazit některý z následujících: - Světlo: Zdroj lze použít na světlém pozadí. - Tmavá: Zdroj lze použít na tmavém pozadí. - HighContrast: Zdroj lze použít na libovolném pozadí v režimu Vysoký kontrast. - HighContrastLight: Zdroj lze použít na světlém pozadí v režimu Vysoký kontrast. -HighContrastDark: Zdroj lze použít na tmavém pozadí v režimu Vysoký kontrast. Pokud atribut Background vynecháte, lze zdroj použít na libovolném pozadí. Pokud je pozadí světlé, tmavé, HighContrastLight nebo HighContrastDark, barvy zdroje se nikdy invertují. Pokud je pozadí vynecháno nebo nastaveno na HighContrast, inverze zdrojových barev je řízena atributem AllowColorInversion obrázku. |
<Zdrojový> prvek může mít přesně jeden z následujících volitelných dílčích prvků:
Element | Atributy (všechny povinné) | Definice |
---|---|---|
<Velikost> | Hodnota | Zdroj se použije pro obrázky dané velikosti (v jednotkách zařízení). Obrázek bude čtvercový. |
<SizeRange> | MinSize, MaxSize | Zdroj se použije pro obrázky z MinSize na MaxSize (v jednotkách zařízení) včetně. Obrázek bude čtvercový. |
<Dimenze> | Šířka, Výška | Zdroj se použije pro obrázky dané šířky a výšky (v jednotkách zařízení). |
<DimensionRange> | MinWidth, MinHeight, MaxWidth, MaxHeight |
Zdroj se použije pro obrázky z minimální šířky/výšky až po maximální šířku/výšku (v jednotkách zařízení). |
<Zdrojový> prvek může mít také volitelný <subelement NativeResource>, který definuje <zdroj>, který je načten z nativního sestavení, a nikoli spravované sestavení.
<NativeResource Type="type" ID="int" />
Atribut | Definice |
---|---|
Typ | [Povinné] Typ nativního prostředku, XAML nebo PNG |
ID | [Povinné] Část ID celého čísla nativního prostředku |
Imagelist
Element <ImageList> definuje kolekci obrázků, které lze vrátit v jednom pruhu. Pás je podle potřeby postaven na poptávce.
<ImageList>
<ContainedImage Guid="guid" ID="int" External="true/false" />
<!-- optional additional ContainedImage elements -->
</ImageList>
Atribut | Definice |
---|---|
Guid | [Povinné] Část identifikátoru GUID v monikeru obrázku |
ID | [Povinné] Část ID monikeru obrázku |
Externí | [Volitelné, výchozí false] Určuje, jestli moniker obrázku odkazuje na obrázek v aktuálním manifestu. |
Moniker pro obsaženou image nemusí odkazovat na obrázek definovaný v aktuálním manifestu. Pokud v knihovně obrázků nenajdete obsažený obrázek, použije se prázdný zástupný obrázek na svém místě.
Jak nástroj používat
Ověření vlastního manifestu image
K vytvoření vlastního manifestu doporučujeme použít nástroj ManifestFromResources k automatickému vygenerování manifestu. Pokud chcete ověřit vlastní manifest, spusťte Prohlížeč knihovny obrázků a vyberte Cesty sady souborů > ... otevřete dialogové okno Prohledat adresáře. Nástroj pomocí adresářů vyhledávání načte manifesty obrázků, ale použije ho také k vyhledání souborů .dll, které obsahují obrázky v manifestu, takže nezapomeňte do tohoto dialogového okna zahrnout jak manifest, tak adresáře knihovny DLL.
Chcete-li vyhledat manifesty a odpovídající knihovny DLL, klikněte na tlačítko Přidat... a vyberte nové adresáře vyhledávání. Nástroj si tyto adresáře vyhledávání zapamatuje a dají se zapnout nebo vypnout zaškrtnutím nebo zrušením zaškrtnutí adresáře.
Ve výchozím nastavení se nástroj pokusí najít instalační adresář sady Visual Studio a přidat tyto adresáře do seznamu adresářů vyhledávání. Adresáře, které nástroj nenajde, můžete přidat ručně.
Po načtení všech manifestů lze nástroj použít k přepínání barev pozadí , DPI, vysokého kontrastu nebo šedého škálování obrázků, aby uživatel mohl vizuálně zkontrolovat prostředky obrázků a ověřit, že se vykreslují správně pro různá nastavení.
Barvu pozadí můžete nastavit na světle, tmavou nebo vlastní hodnotu. Když vyberete Vlastní barva, otevře se dialogové okno pro výběr barev a přidá se tato vlastní barva do dolní části pole se seznamem pozadí, abyste si ji později mohli snadno vzpomenout.
Výběrem monikeru obrázku se zobrazí informace o každém skutečném obrázku za tímto monikerem v podokně Podrobnosti obrázku napravo. Podokno také umožňuje uživatelům kopírovat moniker podle názvu nebo podle nezpracované hodnoty GUID:ID.
Informace zobrazené pro každý zdroj obrázku zahrnují, na jakém druhu pozadí se má zobrazit, ať už jde o motivy nebo podporuje vysoký kontrast, pro jaké velikosti platí, nebo jestli je velikost neutrální a jestli image pochází z nativního sestavení.
Při ověřování manifestu image doporučujeme nasadit manifest a knihovnu DLL imagí do jejich skutečných umístění. Tím ověříte, že všechny relativní cesty fungují správně a že knihovna imagí dokáže najít a načíst manifest a knihovnu DLL imagí.
Hledání katalogu obrázků KnownMonikers
Pokud chcete lépe odpovídat stylu sady Visual Studio, může rozšíření sady Visual Studio místo vytváření a používání vlastního souboru používat obrázky v katalogu imagí sady Visual Studio. To má výhodu, že tyto image nemusíte udržovat a zaručuje, že image bude mít záložní obrázek s vysokým rozlišením DPI, takže by měl vypadat správně ve všech nastaveních DPI, která Visual Studio podporuje.
Prohlížeč knihovny obrázků umožňuje prohledávat manifest, aby uživatel mohl najít moniker, který představuje prostředek obrázku, a použít tento moniker v kódu. Pokud chcete vyhledat obrázky, zadejte požadovaný hledaný termín do vyhledávacího pole a stiskněte Enter. Stavový řádek v dolní části zobrazí, kolik shod bylo zjištěno z celkového počtu obrázků ve všech manifestech.
Při hledání obrázků monikers v existujících manifestech doporučujeme vyhledat a používat pouze monikery katalogu obrázků sady Visual Studio, jiné úmyslně přístupné monikers nebo vlastní monikers. Pokud používáte nepublikované monikery, může dojít k poškození vlastního uživatelského rozhraní nebo změna jeho obrázků neočekávaným způsobem, pokud nebo když se tyto neveřejné monikery a obrázky změní nebo aktualizují.
Vyhledávání podle identifikátoru GUID je navíc možné. Tento typ hledání je užitečný pro filtrování seznamu na jeden manifest nebo jeden pododdíl manifestu, pokud tento manifest obsahuje více identifikátorů GUID.
Hledání podle ID je také možné.
Notes
Ve výchozím nastavení nástroj stáhne několik manifestů obrázků, které jsou přítomné v instalačním adresáři sady Visual Studio. Jediný, kdo má veřejně použitelný monikers, je manifest Microsoft.VisualStudio.ImageCatalog . GUID: ae27a6b0-e345-4288-96df-5eaf394ee369 (nepřepsat tento identifikátor GUID ve vlastním manifestu) Typ: KnownMonikers
Nástroj se pokusí načíst všechny manifesty image, které najde, takže může trvat několik sekund, než se aplikace skutečně zobrazí. Při načítání manifestů může být také pomalý nebo nereagující.
Ukázkový výstup
Tento nástroj negeneruje žádný výstup.