软件编程
位置:首页>> 软件编程>> C#编程>> C#实现的图片、string相互转换类分享

C#实现的图片、string相互转换类分享

作者:junjie  发布时间:2022-04-17 04:50:34 

标签:C#,图片,string,相互转换

C#中,Image为源自 Bitmap 和 Metafile 的类提供功能的抽象基类,也就是说更通用,当我们用Image.FromFile("xxx")时创建出来的是Image的某个派生类实体,所以我用Image作为参数,而不是Bitmap之类的。

图片在于string转换的时候中间借助于MemorySteam和Byte数组,下面是我写的FormatChange类,里面两个互相转换的过程。当然这里面也就包含了图片与Byte[]数组的相互转换喽。


class FormatChange
 {
   public static string ChangeImageToString(Image image)
   {
     try
     {
       MemoryStream ms = new MemoryStream();
       image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
       byte[] arr = new byte[ms.Length];
       ms.Position = 0;
       ms.Read(arr, 0, (int)ms.Length);
       ms.Close();
       string pic = Convert.ToBase64String(arr);

return pic;
     }
     catch (Exception)
     {
       return "Fail to change bitmap to string!";
     }
   }

public static Image ChangeStringToImage(string pic)
   {
     try
     {
       byte[] imageBytes = Convert.FromBase64String(pic);
       //读入MemoryStream对象
       MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
       memoryStream.Write(imageBytes, 0, imageBytes.Length);
       //转成图片
       Image image = Image.FromStream(memoryStream);

return image;
     }
     catch (Exception)
     {
       Image image = null;
       return image;
     }
   }
 }
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com