WPF Write/Read BitmapImage to XML failing with 'No imaging component.....' Error
I am trying to write/read a BitmapImage to Xml using the XmlReader/XmlWriter classes. On writing out I can see a nice long CDATA section in the output Xml file. When reading in I can see that it is indeed reading in that same CDATA section data. But the attempt to recreate the BitmapImage is failing with the error...
"No imaging component suitable to complete this operation was found."
...on the line that says 'image.StreamSource = stream' below...
Public Sub WriteXmlImage(ByVal writer As XmlWriter, ByVal image as BitmapImage)
开发者_JS百科Using stream As New MemoryStream
Dim encoder = New PngBitmapEncoder
encoder.Frames.Add(BitmapFrame.Create(image))
encoder.Save(stream)
writer.WriteCData(Convert.ToBase64String(stream.ToArray()))
End Using
End Sub
Public Function ReadXmlImage(ByVal reader As XmlReader) As BitmapImage
Using stream As New IO.MemoryStream(Convert.FromBase64String(reader.Value))
Dim image As New BitmapImage
image.BeginInit()
image.StreamSource = stream
image.EndInit()
return image
End Using
End Sub
In testing I use the following trivial code to create a test BitmapImage...
Dim image As New BitmapImage(New Uri("c:\devil.png"))
Any ideas?
精彩评论