web-dev-qa-db-fra.com

Comment convertir un fichier SVG en XAML dans Windows 8 / WinRT

Comment puis-je convertir un fichier SVG en XAML dans Windows 8/WinRT. Je suis nouveau dans cet environnement XAML/SVG. Donc, n'importe qui peut m'aider à implémenter la même chose dans Windows 8. J'ai besoin d'analyser ce fichier svg et j'ai besoin d'afficher le contenu de la page via le code.

18
WinPhone Artist

Pour moi, la façon la plus simple de le faire est la suivante:

  1. Ouvrez votre fichier . Svg dans l'outil de dessin vectoriel gratuit Inkscape
  2. Enregistrer sous "Microsoft XAML (*. xaml )"

Vous devrez peut-être également mettre à jour le fichier de sortie des résultats un peu après la conversion, car tous les moteurs de traitement XAML ne prennent pas en charge la conversion d'une chaîne en figures (comme décrit dans la réponse acceptée à Pourquoi ce chemin Xaml plante-t-il le Silverlight? ). Ainsi, par exemple, si vous avez ceci:

<Path Fill="#FFEDEDED" StrokeThickness="1" Stroke="#FFA3A3A3" Opacity="0.7" 
                VerticalAlignment="Center" HorizontalAlignment="Center" >
    <Path.Data>
        <PathGeometry Figures="m 1 2 l 4.0525 5.2361 l 4.0527 -5.2361 z "/>
    </Path.Data>
</Path>    

alors vous devrez le changer en ceci:

<Path Fill="#FFEDEDED" StrokeThickness="1" Stroke="#FFA3A3A3" Opacity="0.7" 
            VerticalAlignment="Center" HorizontalAlignment="Center"
            Data="m 1 2 l 4.0525 5.2361 l 4.0527 -5.2361 z" />

- OR -

Vous pouvez utiliser une manière un peu différente pour exporter le xaml de Inkscape , décrit par Tim Heuer dans la réponse acceptée à la question Convertir SVG en XAML , car les deux façons produisent une sortie xaml différente:

Méthode (oui, superhack):

  • Utilisez Inkscape pour enregistrer au format PDF

  • Renommez l'extension de nom de fichier de PDF en AI

  • Utiliser Expression Design pour ouvrir un document AI

  • Exporter vers Silverlight Canvas

MISE À JOUR (25/08/2015)

Je me suis retrouvé à utiliser de plus en plus souvent le deuxième ("hack") plutôt que le premier (plus simple), car il crée un XAML plus "attendu" comme je l'appellerais.

41
Sevenate

Veuillez consulter cet article: Transformation de graphiques SVG en icônes XAML Metro Vous pouvez trouver ici un moyen de convertir via la transformation en XPS.

Vous pouvez également utiliser un convertisseur Svg2Xaml .

2

J'ai triché et converti mon SVG en police. Tout d'abord, j'ai créé le SVG, puis en utilisant IcoMoon, j'ai créé la police. https://icomoon.io/app/#/select .

J'ai téléchargé le ttf de la police dans mon dossier d'actifs avec du contenu.

enter image description here

Ensuite, j'ajoute le code. Notez le nom de fichier de la police, puis #, puis le nom de la police. Le texte doit être

    <TextBlock Text="&#xe901;" FontFamily="/Assets/icomoon.ttf#icomoon" FontSize="45"</TextBlock>
0
sonicbabbler

Il existe des bibliothèques de rendu SVG pour C #. Je n'en ai pas essayé, mais vous devriez pouvoir les trouver sur Google.

Par exemple: https://github.com/vvvv/SVG

0
Paul LeBeau