图片和XML格式文件相互转换
来源:互联网 发布:安平淘宝贝高瞻幼儿园 编辑:程序博客网 时间:2024/06/03 09:36
图片和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
MessageBox.Show("请选择一个图片!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit Sub
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 Sub
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.SelectSingleNode("/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 Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
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()
MyFileExt = MyFile.Substring(MyFile.LastIndexOf(".") + 1)
End If
End Sub
Public Function GetImageType(ByVal str As String) As System.Drawing.Imaging.ImageFormat
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
- 图片和XML格式文件相互转换
- java socket报文通信(三)java对象和xml格式文件的相互转换
- java socket报文通信(三)java对象和xml格式文件的相互转换
- java socket报文通信(三)java对象和xml格式文件的相互转换
- java socket报文通信(三)java对象和xml格式文件的相互转换
- XML和Map相互转换
- javaBean和XML相互转换
- 图片和字符串相互转换
- javabase64和图片相互转换
- 图片和字节相互转换
- flex xml和arraycollection相互转换
- .net DataSet和XML的相互转换
- javaBean和xml之间的相互转换
- flex xml和arraycollection相互转换
- xml和bean间相互转换
- XML 和 java对象相互转换
- java 和 xml 的相互转换
- XML 和 java对象相互转换
- WPF起步(中) --- 的main thread跟render thread如何通信
- 互联网创业盈利模式指南
- 哈 佛 大 学 图 书 馆 训 言
- 好的软件架构设计
- WPF起步(下) --- WPF的画图请求是如何生成和派发
- 图片和XML格式文件相互转换
- 全国各省市联动下拉列表(异步动态加载)
- 史玉柱:游走在道义边缘的商界奇才
- JBoss的安装与配置(一)在Linux(RedHat4)中安装JBoss
- 226
- MS SQL Server 2000 中系统表应用技巧
- 如何对应用程序实施SOA架构
- 渠道
- c/c++中的时间函数