栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

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

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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;
      }
    }
  }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/125584.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号