程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成的圖片、string互相轉換類分享

C#完成的圖片、string互相轉換類分享

編輯:C#入門知識

C#完成的圖片、string互相轉換類分享。本站提示廣大學習愛好者:(C#完成的圖片、string互相轉換類分享)文章只能為提供參考,不一定能成為您想要的結果。以下是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;
      }
    }
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved