最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c# Base64編碼和圖片的互相轉(zhuǎn)換代碼

 更新時(shí)間:2014年08月07日 22:16:41   作者:sjdev  
Base64編碼在Web方面有很多應(yīng)用,譬如在URL、電子郵件方面。網(wǎng)上有很多相關(guān)的資源用于提供Base64編碼和其他編碼的轉(zhuǎn)換,.Net Framework也提供了現(xiàn)成的功能類(lèi)(System.Convert)用于將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為Base64字符串

事出有因

         我們已經(jīng)做了一個(gè)編輯器,這個(gè)編輯器可以以xml格式存儲(chǔ)一些信息。在存儲(chǔ)圖片信息時(shí)我們碰到了一些問(wèn)題。我們本來(lái)在xml信息中存儲(chǔ)的是圖片的路徑,然而一旦客戶(hù)把這個(gè)信息copy到其他電腦上而沒(méi)有同時(shí)copy相關(guān)的圖片時(shí),就會(huì)出現(xiàn)一些問(wèn)題。
         后來(lái),我們把圖片數(shù)據(jù)轉(zhuǎn)換為Base64編碼,替代了原先存儲(chǔ)圖片路徑的方式。

轉(zhuǎn)換流程

將圖片轉(zhuǎn)化為Base64字符串的流程是:首先使用BinaryFormatter將圖片文件序列化為二進(jìn)制數(shù)據(jù),然后使用Convert類(lèi)的ToBase64String方法。將Base64字符串轉(zhuǎn)換為圖片的流程正好相反:使用Convert類(lèi)的FromBase64String得到圖片文件的二進(jìn)制數(shù)據(jù),然后使用BinaryFormatter反序列化方法。

/// <summary>
    /// 將圖片數(shù)據(jù)轉(zhuǎn)換為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字符串轉(zhuǎn)換為圖片
    /// </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;
    }

運(yùn)行結(jié)果

相關(guān)文章

  • 一步步教你如何創(chuàng)建第一個(gè)C#項(xiàng)目

    一步步教你如何創(chuàng)建第一個(gè)C#項(xiàng)目

    這篇文章主要給大家介紹了關(guān)于如何創(chuàng)建第一個(gè)C#項(xiàng)目的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-12-12
  • c# 類(lèi)型的字段和方法設(shè)計(jì)建議

    c# 類(lèi)型的字段和方法設(shè)計(jì)建議

    這篇文章主要介紹了c# 字段和方法設(shè)計(jì)建議,幫助大家更好的理解和使用c#編程語(yǔ)言,感興趣的朋友可以了解下
    2020-11-11
  • C#將List轉(zhuǎn)換為只讀的List方法與技巧

    C#將List轉(zhuǎn)換為只讀的List方法與技巧

    在 C# 編程的廣闊世界里,數(shù)據(jù)的安全性與穩(wěn)定性始終是我們關(guān)注的焦點(diǎn),當(dāng)涉及到集合數(shù)據(jù)的處理時(shí),有時(shí)我們會(huì)面臨這樣一個(gè)關(guān)鍵需求:將List轉(zhuǎn)換為只讀的List,所以本文給大家介紹了使用C#將List轉(zhuǎn)換為只讀的List的方法與技巧,需要的朋友可以參考下
    2025-01-01
  • c# ArrayList的使用方法小總結(jié)

    c# ArrayList的使用方法小總結(jié)

    arraylist是接口list的實(shí)現(xiàn)類(lèi),所以在使用過(guò)程中比較推薦使用list接口來(lái)實(shí)現(xiàn),arraylist在程序開(kāi)發(fā)過(guò)程中應(yīng)用非常廣泛,接下來(lái),腳本之家的小編給大家總結(jié)了arraylist的使用,有需要的朋友可以參考下
    2015-09-09
  • C#中計(jì)時(shí)器的簡(jiǎn)單實(shí)現(xiàn)方法示例

    C#中計(jì)時(shí)器的簡(jiǎn)單實(shí)現(xiàn)方法示例

    這篇文章主要介紹了C#中計(jì)時(shí)器的簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了C#計(jì)時(shí)器的簡(jiǎn)單定義與使用技巧,需要的朋友可以參考下
    2017-05-05
  • C#判斷字符串是否是int/double(實(shí)例)

    C#判斷字符串是否是int/double(實(shí)例)

    本文主要分享了C#判斷字符串是否是int/double的具體實(shí)例,具有一定的參考價(jià)值,需要的朋友一起來(lái)看下吧
    2016-12-12
  • C#?Sqlite數(shù)據(jù)庫(kù)的搭建及使用技巧

    C#?Sqlite數(shù)據(jù)庫(kù)的搭建及使用技巧

    這篇文章主要介紹了C#?Sqlite數(shù)據(jù)庫(kù)的搭建及使用技巧,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • WPF實(shí)現(xiàn)Table布局控件的示例代碼

    WPF實(shí)現(xiàn)Table布局控件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用WPF實(shí)現(xiàn)Table布局控件,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-10-10
  • C#高效比較兩個(gè)DataTable數(shù)據(jù)差異化的方法實(shí)現(xiàn)

    C#高效比較兩個(gè)DataTable數(shù)據(jù)差異化的方法實(shí)現(xiàn)

    本文主要介紹了C#高效比較兩個(gè)DataTable數(shù)據(jù)差異化的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • WinForm使用DecExpress控件中的ChartControl插件繪制圖表

    WinForm使用DecExpress控件中的ChartControl插件繪制圖表

    這篇文章介紹了WinForm使用DecExpress控件中的ChartControl插件繪制圖表的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論

潼关县| 安康市| 安顺市| 涪陵区| 渑池县| 手游| 益阳市| 龙岩市| 西和县| 龙里县| 河源市| 晴隆县| 扎囊县| 澳门| 环江| 肇州县| 方正县| 宣化县| 永春县| 繁昌县| 剑河县| 桑植县| 汾阳市| 蕉岭县| 西乡县| 芜湖市| 微山县| 来宾市| 德兴市| 夏邑县| 修武县| 昌乐县| 信宜市| 涞源县| 澎湖县| 兴仁县| 美姑县| 滨州市| 武威市| 景德镇市| 成安县|