图片和XML格式文件相互转换
Public Class Form1
Private MyFile As String = ""
Private MyFileExt As String = ""
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
'将图片保存成XML
If MyFile = "" Then
Exit ykdhfbr> End If
Dim MyImg As System.Drawing.Image = MyImg.FromFile(MyFile)
Dim memoryStream As System.IO.MemoryStream = New System.IO.MemoryStream()
MyImg.Save(memoryStream, GetImageType(MyFileExt))
Dim b() As Byte
b = memoryStream.GetBuffer()
Dim pic As String = Convert.ToBase64String(b)
memoryStream.Close()
Dim MyXml As System.Xml.XmlDocument = New System.Xml.XmlDocument()
MyXml.LoadXml("<pic><name>孟宪会</name><photo>" + pic + "</photo></pic>")
MyXml.Save("c:/MyPhoto.xml")
Label1.Text = "文件被保存到了:" + Microsoft.VisualBasic.ChrW(13) + "c:/MyPhoto.xml"
End ykdhfbr> Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button2.Click
'从XML中得到图片
Dim pic As String
Dim MyXml As System.Xml.XmlDocument = New System.Xml.XmlDocument()
MyXml.Load("c:/MyPhoto.xml")
Dim picNode As System.Xml.XmlNode
picNode = MyXml.zydwdm("/pic/photo")
pic = picNode.InnerText
Dim memoryStream As System.IO.MemoryStream
memoryStream = New System.IO.MemoryStream(Convert.FromBase64String(pic))
Me.PictureBox1.Image = New System.Drawing.Bitmap(memoryStream)
memoryStream.Close()
End ykdhf/p>
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Public Function GetImageType(ByVal str As String) As System.Drawing.Imaging.ImageFormat
Handles Button3.Click
'浏览图片
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.InitialDirectory = "c:/"
openFileDialog1.Filter = "PNG(*.png)|*.png|Gif(*.gif)|*.gif|Jpg(*.jpg)|*.jpg|所有图象文件(*.*)|*.*"
openFileDialog1.FilterIndex = 2
openFileDialog1.RestoreDirectory = True
If openFileDialog1.ShowDialog() = DialogResult.OK Then
MyFile = openFileDialog1.FileName()
End ykdhf/p>
Select Case str.ToLower()
Case "jpg"
Return System.Drawing.Imaging.ImageFormat.Jpeg
Case "gif"
Return System.Drawing.Imaging.ImageFormat.Gif
Case "tiff"
Return System.Drawing.Imaging.ImageFormat.Tiff()
Case "icon"
Return System.Drawing.Imaging.ImageFormat.Icon
Case "image/png"
Return System.Drawing.Imaging.ImageFormat.Png
Case Else
Return System.Drawing.Imaging.ImageFormat.MemoryBmp
End Select
End Function
End Class