VB.NET如何实现图象文件和XML文件互换
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,VB.NET如何实现图象文件和XML文件互换,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。通过.NET 框架下的From
千家信息网最后更新 2025年11月09日VB.NET如何实现图象文件和XML文件互换
VB.NET如何实现图象文件和XML文件互换,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
通过.NET 框架下的FromBase64String和ToBase64String方法可以很容易地实现图象文件和XML文件的互换。这样可以轻易解决以XML格式保存图片的问题。以下是利用VB.NET实现图象文件和XML文件的互换代码:
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.LabelPrivate 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(" ") 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 孟宪会 " + pic + "
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
文件
图象
窗体
设计
代码
图片
格式
过程
帮助
清楚
精彩
世界
例子
内容
对此
文章
新手
方法
更多
框架
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
嘉定区网络软件开发售后服务
oracle数据库双机
奥斯卡数据库
wifi是计算机网络技术吗
剑灵新模型数据库
济南正规的服务器零售商
互联网公司要买服务器吗
vcu软件开发工具链
云电脑如何切换服务器
手机应用软件开发费用入账
惠普服务器维修联系电话
灵犬净化网络安全吗
社区网络安全周小结
手机涉及的大数据库
中创实业集团软件开发
cmm是指导软件开发的一种面向
河海软件开发环境期末
注册网络技术公司要多久
教学网站服务器配置
数据库原理与技术文章
安宁参考软件开发市场报价
身份证数据库字符设置多大
软件开发行业知识产权分析
我的世界pc版服务器
海康服务器硬盘卡槽
网络安全总体要求b类
南京当临互联网科技有限公司
宝塔面板数据库管理页面打不开
现在的社交网络安全现状
英文名字翻译软件开发