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

 更新时间:2015年03月27日 11:45:54   投稿:junjie  
这篇文章主要介绍了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;
      }
    }
  }

相关文章

  • C#中的where泛型约束介绍

    C#中的where泛型约束介绍

    这个关于泛型约束的东西我看了几天了。一直没打看懂,我的领悟能力有点差,刚才突然明白了一点
    2013-04-04
  • 雅虎公司C#笔试题(后半部份才是)

    雅虎公司C#笔试题(后半部份才是)

    雅虎公司C#笔试题(后半部份才是)...
    2007-04-04
  • C#基础语法:方法参数详解

    C#基础语法:方法参数详解

    这篇文章主要介绍了C#基础语法:方法参数详解,本文讲解了值参数、引用参数、输出参数、参数数组等参数类型,并分别给出代码实例,需要的朋友可以参考下
    2015-06-06
  • C#添加、读取Word脚注尾注的方法

    C#添加、读取Word脚注尾注的方法

    这篇文章主要为大家详细介绍了C#添加、读取Word脚注尾注的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • C#8.0 中开启默认接口实现方法

    C#8.0 中开启默认接口实现方法

    这篇文章主要介绍了C#8.0 中开启默认接口实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧的相关资料
    2019-05-05
  • C#中List转IList的实现

    C#中List转IList的实现

    本文主要介绍了C#中List转IList的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • C# 如何在WINForm程序中创建XML文件

    C# 如何在WINForm程序中创建XML文件

    这篇文章主要介绍了C# 如何在WINForm程序中创建XML文件,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#连接db2数据库的实现方法

    C#连接db2数据库的实现方法

    本篇文章是对C#连接db2数据库的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 通过C#实现在Word中插入或删除分节符

    通过C#实现在Word中插入或删除分节符

    在Word中,分节符是一种强大的工具,用于将文档分成不同的部分,每个部分可以有独立的页面设置,如页边距、纸张方向、页眉和页脚等,本文将介绍如何使用一个免费的.NET库通过C#实现插入或删除Word分节符,需要的朋友可以参考下
    2024-08-08
  • C#开启线程的四种示例

    C#开启线程的四种示例

    这篇文章主要介绍了C#开启线程的四种方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-10-10

最新评论