base64二进制转码图片和base64String解码图片示例,转码写入XML,解码从XML中读出展示出
jpg等图片文件写入XML,并读取。以下是winform中 base64转码图片和base64String解码图片示例
#region base64转码图片和base64String解码图片 /// <summary> /// 将图片数据转换为Base64字符串 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public string ToBase64(Image image) { Image img = image; BinaryFormatter binFormatter = new BinaryFormatter(); MemoryStream memStream = new MemoryStream(); binFormatter.Serialize(memStream, img); byte[] bytes = memStream.GetBuffer(); string base64 = Convert.ToBase64String(bytes); return base64; } /// <summary> /// 将Base64字符串转换为图片 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private Image ToImage(string base64string) { string base64 = base64string; byte[] bytes = Convert.FromBase64String(base64); MemoryStream memStream = new MemoryStream(bytes); BinaryFormatter binFormatter = new BinaryFormatter(); Image img = (Image)binFormatter.Deserialize(memStream); return img; } /// <summary> /// 编码写入XML /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnToBase64_Click(object sender, EventArgs e) { XmlHandler XH = new XmlHandler(); if (this.picDiagram2.Image != null) { path = ToBase64(this.picDiagram2.Image); //path = GZipCompressString(path); XH.UpdateNodeValueToXML(imagePathFlag, path); MessageBox.Show("写入成功"); } else { MessageBox.Show("无图片路径,失败"); } } /// <summary> /// 解码展示出 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnToImage_Click(object sender, EventArgs e) { XmlHandler XH = new XmlHandler(); imagePathFlag = "351"; path = XH.GetConfigValue(imagePathFlag, @"C:\Users\SunRongzhen\Desktop\半钢组态画面\成型鼓主画面.png"); //path = GetStringByString(path); if (path != "" && path != null)// && File.Exists(path)) { //picDiagram2.Image = Image.FromFile(path); picDiagram2.Image = ToImage(path); MessageBox.Show("加载成功"); } //找不到路径就清空 else { picDiagram2.Image = null; } } ///// <summary> ///// 读取完整路径 ///// </summary> //string path = ""; /// <summary> /// 加载图片 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void picDiagram2_MouseDoubleClick(object sender, MouseEventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = false;//该值确定是否可以选择多个文件 //dialog.Title = "请选择文件夹"; dialog.Filter = "Image files (*.jpg;*.bmp;*.gif)|*.jpg*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";// "Jpg |*.jpg|Bmp |*.bmp|Gif |*.gif|Png |*.png|Wmf |*.wmf";// "所有文件(*.*)|*.*"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { path = dialog.FileName; picDiagram2.Image = Image.FromFile(path); } } #endregion
base64二进制转码图片和base64String解码图片示例,转码写入XML,解码从XML中读出展示出。base64转码,base64解码Winform示例。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步