我环顾了一下Stackoverflow和互联网上的将军,但还没有找到一个能帮我解决问题的帖子。
我的问题是,在下面的代码片段中
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、str和byteArray都是设置的,工作的和不能工作的唯一的区别是SvgString (在本例中是svgE 211)。
有谁能帮我吗?
编辑:这是我使用的SVG呈现引擎库。
发布于 2016-01-14 13:11:22
我对这个库不太了解,我想你是在使用SVG渲染引擎吧?但我注意到有一种方法SvgDocument.OpenAsBitmap。为什么不打开一个位图,然后改变成任何你想要的图像格式?
https://stackoverflow.com/questions/34785286
复制相似问题