Sdílet prostřednictvím


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:

  1. Diagnostika chyb

  2. Zajištění správného nastavení atributů v manifestech vlastních imagí

  3. 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

Image Library Viewer Hero

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.

Image Library Viewer Search

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í.

Image Library Viewer Background

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.

Image Library Viewer Custom Color

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.

Image Library Viewer Image Details

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í.

Image Library Viewer Can Theme

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.

Image Library Viewer Filter

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.

Image Library Viewer Filter GUID

Hledání podle ID je také možné.

Image Library Viewer Filter ID

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.