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

C#中圖片的Base64編碼與解碼轉(zhuǎn)換詳解

 更新時(shí)間:2024年12月06日 11:47:16   作者:AitTech  
在C#中,我們可以使用Base64編碼將圖片轉(zhuǎn)換為字符串,也可以將Base64編碼的字符串轉(zhuǎn)換回圖片,這通常用于在需要文本表示圖像數(shù)據(jù)的場(chǎng)合(例如在Web開(kāi)發(fā)中傳輸圖像數(shù)據(jù)),本文介紹了C#中圖片的Base64編碼與解碼轉(zhuǎn)換,需要的朋友可以參考下

將圖片轉(zhuǎn)換為Base64字符串

要將圖片文件轉(zhuǎn)換為Base64字符串,可以使用System.Drawing命名空間中的Image類(注意:在.NET Core和.NET 5+中,可能需要使用System.Drawing.Common包,并且它可能在某些平臺(tái)上不可用,比如Linux,除非安裝了相應(yīng)的依賴項(xiàng))。然而,更常見(jiàn)和推薦的方法是使用System.IO和Convert類來(lái)處理字節(jié)數(shù)組。

以下是一個(gè)示例代碼,展示了如何將圖片文件轉(zhuǎn)換為Base64字符串:

using System;
using System.IO;
using System.Drawing; // 注意:在.NET Core和.NET 5+中可能需要額外的包
// 或者使用 System.Text.Encoding 和 File.ReadAllBytes 而不是 Image 類

class Program
{
    static void Main()
    {
        string imagePath = "圖片.jpg";
        string base64String = ImageToBase64(imagePath, ImageFormat.Jpeg);
        Console.WriteLine(base64String);
    }

    static string ImageToBase64(string imagePath, ImageFormat format)
    {
        using (Image image = Image.FromFile(imagePath))
        {
            using (MemoryStream ms = new MemoryStream())
            {
                // 將圖片保存到內(nèi)存流中
                image.Save(ms, format);
                // 將內(nèi)存流轉(zhuǎn)換為字節(jié)數(shù)組
                byte[] imageBytes = ms.ToArray();
                // 將字節(jié)數(shù)組轉(zhuǎn)換為Base64字符串
                string base64String = Convert.ToBase64String(imageBytes);
                return base64String;
            }
        }
    }
}

注意:上面的代碼使用了ImageFormat枚舉來(lái)指定圖片格式。但是,如果不想依賴System.Drawing,可以直接使用File.ReadAllBytes方法來(lái)讀取圖片文件的字節(jié)數(shù)組,然后轉(zhuǎn)換為Base64字符串。

一個(gè)不依賴System.Drawing的示例:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string imagePath = "圖片.jpg";
        string base64String = ConvertImageToBase64(imagePath);
        Console.WriteLine(base64String);
    }

    static string ConvertImageToBase64(string imagePath)
    {
        byte[] imageBytes = File.ReadAllBytes(imagePath);
        string base64String = Convert.ToBase64String(imageBytes);
        return base64String;
    }
}

將Base64字符串轉(zhuǎn)換為圖片

要將Base64字符串轉(zhuǎn)換回圖片,可以使用Convert.FromBase64String方法將Base64字符串轉(zhuǎn)換為字節(jié)數(shù)組,然后使用MemoryStream和Image類(或Bitmap類)來(lái)創(chuàng)建圖片對(duì)象。

以下是一個(gè)示例代碼,展示了如何將Base64字符串轉(zhuǎn)換為圖片并保存到文件中:

using System;
using System.Drawing; // 注意:在.NET Core和.NET 5+中可能需要額外的包
using System.IO;

class Program
{
    static void Main()
    {
        string base64String = "Base64字符串";
        string outputPath = "輸出圖片.jpg";
        Base64ToImage(base64String, outputPath);
    }

    static void Base64ToImage(string base64String, string outputPath)
    {
        byte[] imageBytes = Convert.FromBase64String(base64String);
        using (MemoryStream ms = new MemoryStream(imageBytes))
        {
            Image image = Image.FromStream(ms);
            image.Save(outputPath, ImageFormat.Jpeg); // 可以根據(jù)需要更改格式
        }
    }
}

同樣地,如果不想依賴System.Drawing,可以將字節(jié)數(shù)組寫(xiě)入文件,并使用適當(dāng)?shù)奈募U(kuò)展名和關(guān)聯(lián)的程序來(lái)打開(kāi)它(例如,使用.jpg擴(kuò)展名并用圖片查看器打開(kāi))。但是,請(qǐng)注意,這種方法不會(huì)直接創(chuàng)建一個(gè)Image對(duì)象,只是將字節(jié)數(shù)據(jù)保存為文件。

一個(gè)不依賴System.Drawing的保存Base64字符串為圖片文件的示例:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string base64String = "Base64字符串";
        string outputPath = "輸出圖片.jpg";
        SaveBase64AsImage(base64String, outputPath);
    }

    static void SaveBase64AsImage(string base64String, string outputPath)
    {
        byte[] imageBytes = Convert.FromBase64String(base64String);
        File.WriteAllBytes(outputPath, imageBytes);
    }
}

到此這篇關(guān)于C#中圖片的Base64編碼與解碼轉(zhuǎn)換詳解的文章就介紹到這了,更多相關(guān)C#圖片Base64編碼與解碼轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#中如何使用 XmlReader 讀取XML文件

    C#中如何使用 XmlReader 讀取XML文件

    本文介紹了C#中使用XmlReader,只讀、向前、循環(huán)讀取XML節(jié)點(diǎn)的方法,并為我們列出、XmlReader類的方法、屬性、枚舉等成員,希望對(duì)大家學(xué)習(xí)有所幫助。
    2016-05-05
  • C#反射調(diào)用拓展類方法實(shí)例代碼

    C#反射調(diào)用拓展類方法實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于C#反射調(diào)用拓展類方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • WPF仿LiveCharts實(shí)現(xiàn)餅圖的繪制

    WPF仿LiveCharts實(shí)現(xiàn)餅圖的繪制

    這篇文章主要介紹了如何利用WPF仿LiveCharts實(shí)現(xiàn)餅圖的繪制,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-07-07
  • 非常實(shí)用的C#字符串操作處理類StringHelper.cs

    非常實(shí)用的C#字符串操作處理類StringHelper.cs

    這篇文章主要為大家詳細(xì)介紹了非常實(shí)用的C#字符串操作處理類StringHelper.cs,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#將國(guó)產(chǎn)Linux視頻錄制生成mp4的具體實(shí)現(xiàn)

    C#將國(guó)產(chǎn)Linux視頻錄制生成mp4的具體實(shí)現(xiàn)

    這篇文章主要介紹了C#將國(guó)產(chǎn)Linux視頻錄制生成mp4的具體實(shí)現(xiàn),文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • 使用C#在Word文檔中添加文本和圖片超鏈接的實(shí)現(xiàn)方式

    使用C#在Word文檔中添加文本和圖片超鏈接的實(shí)現(xiàn)方式

    在開(kāi)發(fā)辦公自動(dòng)化(OA)系統(tǒng)、報(bào)表生成工具或文檔處理腳本時(shí),我們經(jīng)常需要操作 Word 文檔,其中,插入超鏈接是一個(gè)高頻需求,本文將介紹如何使用 C# 在 Word 文檔中添加文本和圖片超鏈接的具體實(shí)現(xiàn)方式,需要的朋友可以參考下
    2026-03-03
  • C#使用NPOI實(shí)現(xiàn)Excel和DataTable的互轉(zhuǎn)

    C#使用NPOI實(shí)現(xiàn)Excel和DataTable的互轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了C#使用NPOI實(shí)現(xiàn)Excel和DataTable的互轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • LINQ(語(yǔ)言集成查詢)使用案例

    LINQ(語(yǔ)言集成查詢)使用案例

    這篇文章介紹了LINQ(語(yǔ)言集成查詢)的使用案例,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#類的多態(tài)性詳解

    C#類的多態(tài)性詳解

    這篇文章主要為大家詳細(xì)介紹了C#類的多態(tài)性,主要有兩種:一是編譯時(shí)的多態(tài)性,二是運(yùn)行時(shí)的多態(tài)性,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-10-10
  • c#一個(gè)定時(shí)重啟的小程序?qū)崿F(xiàn)代碼

    c#一個(gè)定時(shí)重啟的小程序?qū)崿F(xiàn)代碼

    今天有個(gè)朋友找我問(wèn)有沒(méi)有一些能像Windows一樣計(jì)劃任務(wù)重啟的軟件,我也不清楚。他它說(shuō)能讓我做一個(gè)給他它么?我考慮了一下,他的服務(wù)器都是有安裝.NET框架的,那可以用.NET來(lái)使下~~!
    2008-09-09

最新評(píng)論

定远县| 河间市| 长乐市| 太仆寺旗| 江西省| 赤城县| 涪陵区| 黎平县| 松滋市| 武隆县| 苏尼特右旗| 涞源县| 得荣县| 商水县| 成武县| 宜州市| 佛山市| 车致| 民县| 邹平县| 扎囊县| 呼伦贝尔市| 余干县| 砚山县| 钟祥市| 鄂尔多斯市| 怀化市| 尉犁县| 交城县| 普定县| 秦安县| 招远市| 大渡口区| 丽江市| 丹凤县| 杭锦旗| 龙岩市| 通山县| 丰都县| 栾川县| 泉州市|