zoukankan      html  css  js  c++  java
  • C#图片转字符串------>>>>字符串在转回图片两种方法

     C#图片转字符串------>>>>字符串在转回图片两种方法

    1
    #region 调用方法 2 private void Form1_Load(object sender, EventArgs e) 3 { 4 OpenFileDialog dialog = new OpenFileDialog(); 5 dialog.Multiselect = true;//该值确定是否可以选择多个文件 6 dialog.Title = "请选择文件夹"; 7 dialog.Filter = "所有文件(*.*)|*.*"; 8 if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 9 { 10 string file = dialog.FileName; 11 var imageString = ImageConvertString(file); 12 var iamgePath = StringToImage(imageString); 13 14 var downImageString = DownloadImageConvertString(file); 15 var downIamgePath = StringConvertImage(imageString); 16 } 17 } 18 #endregion 19 #region 网络图片转换 20 public string DownloadImageConvertString(string imagepath) 21 { 22 using (System.Net.WebClient wc = new System.Net.WebClient()) 23 { 24 wc.Headers.Add("User-Agent", "Chrome"); 25 return Convert.ToBase64String(wc.DownloadData(imagepath)); 26 } 27 } 28 public static string StringConvertImage(string buffer, string fileName = "bg_print1") 29 { 30 string path = string.Format("{0}/{1}{2}.png", System.Environment.CurrentDirectory, System.DateTime.Now.ToString("yyyyMMddHHmmss"), fileName); 31 byte[] bytes = Convert.FromBase64String(buffer); 32 MemoryStream ms = new MemoryStream(); 33 ms.Write(bytes, 0, bytes.Length); 34 Bitmap bmp = new Bitmap(ms); 35 if (Directory.Exists(path)) 36 { 37 Directory.Delete(path); 38 } 39 bmp.Save(path); 40 return path; 41 } 42 #endregion 43 #region 本地图片转换 44 /// <summary> 45 /// Base64String转本地图片 46 /// </summary> 47 /// <param name="buffer">Base64String</param> 48 /// <param name="fileName">文件名</param> 49 /// <returns></returns> 50 public static string StringToImage(string buffer, string fileName = "bg_print2") 51 { 52 string path = string.Format("{0}/{1}{2}.png", System.Environment.CurrentDirectory, System.DateTime.Now.ToString("yyyyMMddHHmmss"), fileName); 53 using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(buffer))) 54 { 55 using (Image image = System.Drawing.Image.FromStream(ms)) 56 { 57 if (Directory.Exists(path)) 58 { 59 Directory.Delete(path); 60 } 61 image.Save(path); 62 return path; 63 } 64 } 65 } 66 /// <summary> 67 /// 本地图片文件转Base64字符串 68 /// </summary> 69 /// <param name="imagepath">本地文件路径</param> 70 /// <returns>Base64String</returns> 71 public string ImageConvertString(string imagepath) 72 { 73 using (FileStream fs = new FileStream(imagepath, FileMode.Open)) 74 { 75 byte[] byData = new byte[fs.Length]; 76 fs.Read(byData, 0, byData.Length); 77 fs.Close(); 78 return Convert.ToBase64String(byData); 79 } 80 } 81 #endregion
  • 相关阅读:
    ASP.NET 高级编程基础第七篇—开发原则2
    反垃圾邮件引发的Email格式变异!
    .NET框架程序设计生成,打包,部署及管理应用程序与类型(2:Assembly的生成以及版本信息)
    .NET框架程序设计NET框架开发平台的体系架构概览(FCL,CTS,CLS)
    .NET框架程序设计生成,打包,部署及管理应用程序与类型(1:程序集的PE格式)
    [电影]蝴蝶效应
    .NET框架程序设计.NET框架开发平台的体系架构概览(.NET程序本质)
    [转贴]浅析.NET Framework对PE文件格式的扩展
    [MSDN今日讲座]Whidbey 开发系列讲座二:Visual Studio 2005团对开发系统简介
    郁闷!我的Gmail邮箱的问题!
  • 原文地址:https://www.cnblogs.com/aaaaq/p/7768254.html
Copyright © 2011-2022 走看看