c#中如何用xml来保存并提取图片
2013-04-20 22:24
393 查看
private void button1_Click(object sender, EventArgs e) { try{ int readByte = 0; // int bytesToRead = 100; string fileName = "../../yangm.xml"; // 打开图片文件,利用该图片构造一个文件流 FileStream fs = new FileStream("../../ym.jpg", FileMode.Open); // 使用文件流构造一个二进制读取器将基元数据读作二进制值 BinaryReader br = new BinaryReader(fs); XmlTextWriter xmlTxtWt = new XmlTextWriter(fileName, Encoding.UTF8); //输出设置代码缩进 xmlTxtWt.Formatting = Formatting.Indented; // xmlTxtWt.Indentation = 4; xmlTxtWt.WriteStartDocument(); xmlTxtWt.WriteStartElement("picture", "ContactDetails", "http://www.deltabis.com/Contact");//定义命名空间 xmlTxtWt.WriteStartElement("image"); //定义节点 xmlTxtWt.WriteAttributeString("imageName", "002.jpg"); //添加图片属性 byte[] base64buffer = new byte[bytesToRead]; //开辟缓冲区 do { readByte = br.Read(base64buffer, 0, bytesToRead); //将数据读入字节数组 xmlTxtWt.WriteBase64(base64buffer, 0, readByte); //将数组中二进制值编码为Base64并写出到XML文件 } while (bytesToRead <= readByte); xmlTxtWt.WriteEndElement(); xmlTxtWt.WriteEndElement(); xmlTxtWt.WriteEndDocument(); // xmlTxtWt.Flush(); xmlTxtWt.Close(); } catch(Exception ex) { MessageBox.Show(ex.ToString()); } }
上边的代码是从网上找到的,下边的代码的功能为如何从xml文件中把保存好的图片提取出来
private void button2_Click(object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); //XmlNode d=new xmlnode // 装入指定的XML文档 doc.Load("../../yangm.xml"); XmlNodeList NodeList = doc.GetElementsByTagName("image");//得到节点列表 XmlNode ImageNode = NodeList[0];//得到该节点 string PicByte = ImageNode.InnerXml;//得到节点内的二进制代码 byte[] b = Convert.FromBase64String(PicByte);//转化为byte[] System.IO.MemoryStream sm = new MemoryStream(); sm.Write(b, 0, b.Length);//写到流中 this.photo.Image = Image.FromStream(sm);//picbox
base64简介
Base64编码把3个8位字节(3*8=24)转化为4个6位字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的格式
base64把字节码编程只包含a-zA-Z0-9+/这64个字符,所以称为base64
相关文章推荐
- C# ppc中,如何正确保存调整大小后的图片?
- C# 如何提取SaveFileDialog的保存路径
- 如何保存一张网页上的图片(C#)到本地计算机上
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- C# 图片文件保存到XML中
- 如何使用C#从word文档中提取图片
- c# 图片如何保存到xml文件
- 转载:C#如何实现把word文档内的图片提取出来
- C#将图片转换二进制保存至Xml
- C#中如何把图片保存入SQL Server
- C#如何生成一个XML文件,并保存在硬盘的指定目录下
- C#将图片转换二进制保存至Xml
- C#如何实现图片的剪裁并保存
- C#/.NET 如何提取PPT中的所有图片
- C#将图片转换二进制保存至Xml
- C# 如何提取SaveFileDialog的保存路径?
- C# 如何提取SaveFileDialog的保存路径
- C# 如何提取SaveFileDialog的保存路径
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- c#中如何保存焦点控件?