2016-01-14 2 views
0

Я просмотрел Stackoverflow и интернет в generel, но не нашел сообщение, которое могло бы помочь мне решить мою проблему.SvgDocument.Draw() Ссылка на объект не установлена ​​в экземпляр объекта

Моя проблема заключается в том, что в следующем фрагменте кода в строке

Dim bm As Bitmap = SvgDoc.Draw() 

я получаю ссылка на объект не указывает на экземпляр объекта.

Protected Function SvgToPng(ByVal svg As String) As Byte() 
    svg = svg.Replace("url(""#lineArea"")", "url('#lineArea')") 

    Dim byteArray = Encoding.UTF8.GetBytes(svg) 
    Dim str As New MemoryStream(byteArray) 
    Dim svgDoc = SvgDocument.Open(str) 
    scaleSvgDoc(svgDoc, 7) 
    Dim bm As Bitmap = svgDoc.Draw() 
    Dim out As New MemoryStream 
    bm.Save(out, ImageFormat.Png) 
    Return out.ToArray 
End Function 

У меня есть несколько кнопок, под разными меню, которые обращаются к этому методу. Моя проблема в том, что для одного из этих меню я получаю проблему, как описано выше, но я не понимаю ее. Я проверил, что оба SvgDoc, ул и ByteArray, все установлены, и единственное различие между рабочим одного, и один, который не работает, является SvgString (в данном случае SVG).

Любой, кто может помочь мне здесь?

EDIT: Это библиотека SVG Rendering Engine, которую я использую.

+0

Не отправил SvgStrings, поскольку они должны были долго ждать. – Ranth67

ответ

0

Я мало знаю об этой библиотеке, предположим, вы используете SVG Rendering Engine? Но я заметил, что есть метод SvgDocument.OpenAsBitmap. Почему бы не просто открыть как растровое изображение, а затем изменить любой формат изображения, который вы хотите?

+0

Насколько я могу видеть из исходного кода, он был реализован как «return null». Согласно https://svg.codeplex.com/SourceControl/latest#Source/SvgDocument.cs. – Ranth67

Смежные вопросы