c# Открыть векторный файл (svg) и нарисовать его в PictureBox

У меня есть файл .SVG формата. Свойство Image у PictureBox не принимает такой формат на вход. Как можно добавить это изображение?

p.s. пробовал реализовать через метод, который возвращал-бы bitmap (картинку загрузил в ресурсы проекта), но выдаёт ошибку (System.IO.FileNotFoundException: "The specified document cannot be found."). Скорее всего, это связано с тем, что я не совсем правильно загрузил этот файл в ресурсы

    private Bitmap ConvertToBitmnap()
    {
        var svgDocument = SvgDocument.Open(Properties.Resources.image.ToString());
        svgDocument.ShapeRendering = SvgShapeRendering.Auto;
        return svgDocument.Draw(12, 12);
    }

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


Ответы (1 шт):

Автор решения: Arseni Mourzenko

Метод SvgDocument.Open() принимает значение string соответствующее именно файлу .svg, или stream содержащий сам код SVG.

В вашем случае, вы вызываете первый overload, и даёте ему значение "System.Byte[]". Так как файла с именем «System.Byte[]» не существует, то программа логично указывает, что файла нет.

Используйте GetManifestResourceStream. Загрузите картинку из ресурсов, и дальше используйте стрим, вызывая SvgDocument.Open().

→ Ссылка