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

C#中圖片的Base64編碼與解碼轉換詳解

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

將圖片轉換為Base64字符串

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

以下是一個示例代碼,展示了如何將圖片文件轉換為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)存流轉換為字節(jié)數(shù)組
                byte[] imageBytes = ms.ToArray();
                // 將字節(jié)數(shù)組轉換為Base64字符串
                string base64String = Convert.ToBase64String(imageBytes);
                return base64String;
            }
        }
    }
}

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

一個不依賴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字符串轉換為圖片

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

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

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ù)組寫入文件,并使用適當?shù)奈募U展名和關聯(lián)的程序來打開它(例如,使用.jpg擴展名并用圖片查看器打開)。但是,請注意,這種方法不會直接創(chuàng)建一個Image對象,只是將字節(jié)數(shù)據(jù)保存為文件。

一個不依賴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);
    }
}

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

相關文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    c#一個定時重啟的小程序實現(xiàn)代碼

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

最新評論

高密市| 六枝特区| 定南县| 怀柔区| 庆云县| 沁源县| 河北区| 东乡族自治县| 清徐县| 灯塔市| 汤原县| 安新县| 太白县| 陆川县| 朔州市| 田林县| 梨树县| 阆中市| 通江县| 阳城县| 商河县| 雷波县| 秀山| 安福县| 炉霍县| 高清| 山东省| 永川市| 丰原市| 和林格尔县| 庆阳市| 荥阳市| 伊金霍洛旗| 阿克苏市| 三明市| 莱阳市| 桂林市| 仲巴县| 舒兰市| 应城市| 怀化市|