Как преобразовать SVG файл в XAML в Windows 8/WinRT

Как я могу преобразовать SVG файл в XAML в Windows 8/WinRT. Я новичок в этой среде XAML/SVG. Так что, пожалуйста, помогите мне реализовать то же самое в Windows 8. Мне нужно разобрать этот файл svg и отобразить содержимое на странице с помощью кода.

Ответы

Ответ 1

Для меня самый простой способ сделать это:

  • Откройте файл .svg в свободном инструменте рисования векторов Inkscape
  • Сохранить как "Microsoft XAML (*. xaml)"

Также вам может потребоваться немного обновить выходной файл результата после преобразования, поскольку не все процессоры обработки XAML поддерживают преобразование строки в фигуры (как описано в принятом ответе на Почему этот Xaml Path crash silverlight?). Так, например, если у вас есть это:

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

то вам нужно будет изменить его на это:

<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" />

- ИЛИ -

Вы можете использовать немного другой способ экспортировать xaml из Inkscape, описанный Тимом Хейером в принятый ответ на вопрос Преобразование SVG в XAML, поскольку в обоих способах создается другой вывод xaml:

Метод (да, суперхарак):

  • Использовать Inkscape для сохранения в формате PDF

  • Переименуйте расширение имени файла из PDF в AI

  • Используйте Expression Design для открытия документа AI

  • Экспорт в холст Silverlight

ОБНОВЛЕНИЕ (2015-08-25)

Я нашел себя, используя второй ( "хак" ) путь все чаще, а не сначала (более простой), потому что он создает более "ожидаемый" XAML, как я бы назвал его.

Ответ 3

Существуют библиотеки SVG-рендеринга для С#. Я не пробовал, но вы можете найти их в Google.

Например: https://github.com/vvvv/SVG

Ответ 4

Я обманул и преобразовал SVG в шрифт. Сначала я создал SVG, а затем используя IcoMoon создал шрифт. https://icomoon.io/app/#/select.

Я загрузил шрифт ttf в свою папку с содержимым.

введите описание изображения здесь

Далее я добавляю код. Обратите внимание на имя файла шрифта, затем #, а затем на имя шрифта. Текст должен быть

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