Vb.net System.Xml..XmlTextReaderImpl.ParseDocument中缺少根元素

Vb.net System.Xml..XmlTextReaderImpl.ParseDocument中缺少根元素,vb.net,xml-parsing,devexpress,memorystream,Vb.net,Xml Parsing,Devexpress,Memorystream,当我尝试将位图加载到devexpress GUI项目中时,我当前收到以下异常(缺少根元素)。我有一个可以执行的函数 Public Function GetStreamFromBitmap(bitmapImage As Bitmap) As Stream Dim memStream As New IO.MemoryStream bitmapImage.Save(memStream, bitmapImage.RawFormat) Return memStream End Function

当我尝试将位图加载到devexpress GUI项目中时,我当前收到以下异常(缺少根元素)。我有一个可以执行的函数

Public Function GetStreamFromBitmap(bitmapImage As Bitmap) As Stream
  Dim memStream As New IO.MemoryStream
  bitmapImage.Save(memStream, bitmapImage.RawFormat)
  Return memStream
End Function

Public Function CreateSvgShape(ByVal nameID As String, ByVal display As String, ByVal bitMap As Bitmap) As ShapeDescription
  Return ShapeDescription.CreateSvgShape(nameID, display, GetStreamFromBitmap(bitMap)).
     Update(getDefaultSize:=Function() New System.Windows.Size(100, 100)).
     Update(getConnectionPoints:=Function(w, h, p) {New System.Windows.Point(w / 2, h / 2)})
End Function
我正在使用我的资源文件中的位图图像,我正在尝试将其转换为IO.Stream。这样,我可以使用流指向我的资源文件中的图片,并使用DevExpress控件查找要加载到其控件中的文件。在此过程中,XML解析文档无法在流中找到图片

方法文档说明:

svgStream:包含SVG图像的System.IO.Stream对象

但是您传递的是位图二进制数据(光栅图像格式),而不是(基于XML的矢量图像格式)。
因此,要修复此异常,应按预期使用此方法。

您使用的是位图图像而不是SVG文件,但ShapeDescription.CreateSvgShape需要SVG格式

DevXPress UI项通常具有Glyph属性,您可以在资源中转换图像,如下所示:

xxx.Glyph = CType(resources.GetObject("image.bmp"), System.Drawing.Image)

那么,从My.Resources.image中提取所需信息的正确方法是什么呢?正如我已经提到的,您应该使用矢量资源而不是光栅位图。没有从光栅到矢量的转换,因为它们是不同的世界。看一看细节。