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示例。
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现