我已经查看了Stackoverflow和互联网上的内容,但是找不到可以帮我解决问题的帖子。
我的问题是在
行的以下代码段中Dim bm As Bitmap = SvgDoc.Draw()
我得到的Object引用没有设置为对象的实例。
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 , str 和 byteArray 都已设置,并且工作的唯一区别和没有#的# 39; t work,是 SvgString (在这种情况下是 svg )。
任何可以帮助我的人吗?
编辑:它是我使用的SVG渲染引擎库。
答案 0 :(得分:0)
我不太了解这个库,我假设您使用的是SVG渲染引擎?但我注意到有一个方法SvgDocument.OpenAsBitmap。为什么不打开位图然后更改为您想要的任何图像格式?