通过.NET框架下的FromBase64String和ToBase64String方法可以很容易地实现图象文件和XML文件的互换。这样可以轻易解决以XML格式保存图片的问题。以下是利用VB.NET实现图象文件和XML文件的互换代码:
10多年的林周网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整林周建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“林周网站设计”,“林周网站推广”以来,每个客户项目都认真落实执行。
- Public Class Form1
- Inherits System.Windows.Forms.Form
- #Region " Windows 窗体设计器生成的代码 "
- Public Sub New()
- MyBase.New()
- InitializeComponent()
- 在 InitializeComponent() 调用之后添加任何初始化
- End Sub
- 窗体重写处置以清理组件列表。
- Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
- If disposing Then
- If Not (components Is Nothing) Then
- components.Dispose()
- End If
- End If
- MyBase.Dispose(disposing)
- End Sub
- Windows 窗体设计器所必需的
- Private components As System.ComponentModel.IContainer
- 注意:以下过程是 Windows 窗体设计器所必需的
- 可以使用 Windows 窗体设计器修改此过程。
- 不要使用代码编辑器修改它。
- Friend WithEvents Button1 As System.Windows.Forms.Button
- Friend WithEvents Button2 As System.Windows.Forms.Button
- Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
- Friend WithEvents Button3 As System.Windows.Forms.Button
- Friend WithEvents Label1 As System.Windows.Forms.Label
- Friend WithEvents Label2 As System.Windows.Forms.Label
Private Sub InitializeComponent() - Me.Button1 = New System.Windows.Forms.Button()
- Me.Button2 = New System.Windows.Forms.Button()
- Me.PictureBox1 = New System.Windows.Forms.PictureBox()
- Me.Button3 = New System.Windows.Forms.Button()
- Me.Label1 = New System.Windows.Forms.Label()
- Me.Label2 = New System.Windows.Forms.Label()
- Me.SuspendLayout()
- Button1
- Me.Button1.Location = New System.Drawing.Point(365, 63)
- Me.Button1.Name = "Button1"
- Me.Button1.Size = New System.Drawing.Size(115, 23)
- Me.Button1.TabIndex = 0
- Me.Button1.Text = "将图象保存成XML"
- Button2
- Me.Button2.Location = New System.Drawing.Point(365, 98)
- Me.Button2.Name = "Button2"
- Me.Button2.Size = New System.Drawing.Size(115, 23)
- Me.Button2.TabIndex = 1
- Me.Button2.Text = "从XML中得到图象"
- PictureBox1
- Me.PictureBox1.Location = New System.Drawing.Point(18, 6)
- Me.PictureBox1.Name = "PictureBox1"
- Me.PictureBox1.Size = New System.Drawing.Size(320, 460)
- Me.PictureBox1.TabIndex = 2
- Me.PictureBox1.TabStop = False
- Button3
- Me.Button3.Location = New System.Drawing.Point(365, 28)
- Me.Button3.Name = "Button3"
- Me.Button3.Size = New System.Drawing.Size(115, 23)
- Me.Button3.TabIndex = 3
- Me.Button3.Text = "浏览图片…"
- Label1
- Me.Label1.Location = New System.Drawing.Point(369, 135)
- Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(105, 95)
- Me.Label1.TabIndex = 4
- Label2
- Me.Label2.Location = New System.Drawing.Point(367, 437)
- Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(130, 16)
- Me.Label2.TabIndex = 5
- Me.Label2.Text = "【孟宪会之精彩世界】"
- Form1
- Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
- Me.ClientSize = New System.Drawing.Size(500, 480)
- Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label2, Me.Label1, Me.Button3, Me.PictureBox1, Me.Button2, Me.Button1})
- Me.Name = "Form1"
- Me.Text = "图象文件和XML格式文件互换例子"
- Me.ResumeLayout(False)
- End Sub
- #End Region
- Private MyFile As String = ""
- Private MyFileExt As String = ""
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
- Handles Button2.Click
- 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 Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
- Handles Button1.Click
- 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 + " - MyXml.Save("c:\MyPhoto.xml")
- Label1.Text = "文件被保存到了:" + Microsoft.VisualBasic.ChrW(13) + "c:\MyPhoto.xml"
- 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
- Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) _
- Handles MyBase.Closing
- System.Diagnostics.Process.Start("IExplore.exe", "http://xml.sz.luohuedu.net/")
- End Sub
- End Class
网页名称:VB.NET实现图象文件和XML文件互换
文章位置:http://www.shufengxianlan.com/qtweb/news11/197461.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联