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

c# Base64編碼和圖片的相互轉換代碼

編輯:C#入門知識

c# Base64編碼和圖片的相互轉換代碼。本站提示廣大學習愛好者:(c# Base64編碼和圖片的相互轉換代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是c# Base64編碼和圖片的相互轉換代碼正文


事出有因

         我們曾經做了一個編纂器,這個編纂器可以以xml格局存儲一些信息。在存儲圖片信息時我們碰著了一些成績。我們原來在xml信息中存儲的是圖片的途徑,但是一旦客戶把這個信息copy到其他電腦上而沒有同時copy相干的圖片時,就會湧現一些成績。
         後來,我們把圖片數據轉換為Base64編碼,替換了本來存儲圖片途徑的方法。

轉換流程

將圖片轉化為Base64字符串的流程是:起首應用BinaryFormatter將圖片文件序列化為二進制數據,然後應用Convert類的ToBase64String辦法。將Base64字符串轉換為圖片的流程正好相反:應用Convert類的FromBase64String獲得圖片文件的二進制數據,然後應用BinaryFormatter反序列化辦法。

/// <summary>
    /// 將圖片數據轉換為Base64字符串
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void ToBase64(object sender, EventArgs e)
    {
      Image img = this.pictureBox.Image;
      BinaryFormatter binFormatter = new BinaryFormatter();
      MemoryStream memStream = new MemoryStream();
      binFormatter.Serialize(memStream, img);
      byte[] bytes = memStream.GetBuffer();
      string base64 = Convert.ToBase64String(bytes);
      this.richTextBox.Text = base64;
    }

    /// <summary>
    /// 將Base64字符串轉換為圖片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void ToImage(object sender, EventArgs e)
    {
      string base64 = this.richTextBox.Text;
      byte[] bytes = Convert.FromBase64String(base64);
      MemoryStream memStream = new MemoryStream(bytes);
      BinaryFormatter binFormatter = new BinaryFormatter();
      Image img = (Image)binFormatter.Deserialize(memStream);
      this.pictureBox.Image = img;
    }

運轉成果

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