Как я могу преобразовать SVG файл в XAML в Windows 8/WinRT. Я новичок в этой среде XAML/SVG. Так что, пожалуйста, помогите мне реализовать то же самое в Windows 8. Мне нужно разобрать этот файл svg и отобразить содержимое на странице с помощью кода.
Как преобразовать SVG файл в XAML в Windows 8/WinRT
Ответ 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, как я бы назвал его.
Ответ 2
Пожалуйста, взгляните на эту статью: Преобразование графики SVG в XAML Metro Icons Здесь вы можете найти способ преобразования через преобразование в XPS.
Вы также можете использовать конвертер Svg2Xaml.
Ответ 3
Существуют библиотеки SVG-рендеринга для С#. Я не пробовал, но вы можете найти их в Google.
Например: https://github.com/vvvv/SVG
Ответ 4
Я обманул и преобразовал SVG в шрифт. Сначала я создал SVG, а затем используя IcoMoon создал шрифт. https://icomoon.io/app/#/select.
Я загрузил шрифт ttf в свою папку с содержимым.
Далее я добавляю код. Обратите внимание на имя файла шрифта, затем #, а затем на имя шрифта. Текст должен быть
<TextBlock Text="" FontFamily="/Assets/icomoon.ttf#icomoon" FontSize="45"</TextBlock>