借助Aspose.SVG圖像控件,在 C# 中將圖像轉換為 Base64

Base64 編碼是一種二進制到文本的編碼方案,可有效地將二進制數據轉換為 ASCII 字符,為數據交換提供通用格式。在某些情況下,我們可能需要將JPG或PNG圖像轉換為 Base64 字符串數據。在這篇博文中,我們將學習如何在 C# 中將圖像轉換為 Base64。

Aspose.SVG最新下載(qun:666790229)icon-default.png?t=N7T8https://www.evget.com/product/4207/download

圖像到 Base64 | C# 中的圖像到 Base64 | PNG 轉 Base64 | JPG 轉 Base64

Base64 編碼是一種二進制到文本的編碼方案,可有效地將二進制數據轉換為 ASCII 字符,為數據交換提供通用格式。在某些情況下,我們可能需要將JPG或PNG圖像轉換為 Base64 字符串數據。在這篇博文中,我們將學習如何在 C# 中將圖像轉換為 Base64。

圖像到 Base64 轉換器 C# API

我們將使用Aspose.SVG for .NET API將圖像轉換為 Base64 。它專為處理和渲染SVG文件而設計。它允許開發人員創建、讀取、更新、轉換和解析 SVG 文件。

請下載API的DLL或使用NuGet安裝。

PM> Install-Package Aspose.SVG
在 C# 中將圖像轉換為 Base64

我們可以按照以下步驟在 C# 中以編程方式輕松將圖像轉換為 Base64:

  1. 加載輸入 JPG 圖像。
  2. 創建SVGDocument類的實例。
  3. 使用SVGImageElement類創建圖像元素。
  4. 將圖像轉換為 Base64。
  5. 將圖像元素添加到 SVG 文檔中。
  6. 最后,調用save()方法保存SVG文檔。

以下代碼示例展示了如何在 C# 中將 JPG 圖像轉換為 Base64

// Load an input JPG image
var bytes = File.ReadAllBytes(@"C:\Files\Sample_JPG.jpg");// Initialize an SVGDocument object
var document = new SVGDocument();// Create an image element
var img = (SVGImageElement)document.CreateElementNS("http://www.w3.org/2000/svg", "image");// Convert image to Base64
img.Href.BaseVal = "data:image/png;charset=utf-8;base64," + Convert.ToBase64String(bytes);// Add the image element into the SVG document
document.RootElement.AppendChild(img);// Save the SVG document
document.Save(@"C:\Files\image-base64.svg");

在 C# 中將 JPG 或 PNG 圖像轉換為 Base64

C# 中的 PNG 到 Base64

同樣,我們可以按照前面提到的步驟將 PNG 圖像轉換為 Base64。不過,我們只需要輸入一張PNG圖片即可,如下所示:

// Load an input JPG image
var bytes = File.ReadAllBytes(@"C:\Files\Sample.png");// Initialize an SVGDocument object
var document = new SVGDocument();// Create an image element
var img = (SVGImageElement)document.CreateElementNS("http://www.w3.org/2000/svg", "image");// Convert image to Base64
img.Href.BaseVal = "data:image/png;charset=utf-8;base64," + Convert.ToBase64String(bytes);// Add the image element into the SVG document
document.RootElement.AppendChild(img);// Save the SVG document
document.Save(@"C:\Files\image-base64.svg");
結論

在這篇博文中,我們學習了如何在 C# 中將圖像轉換為 Base64 字符串。通過遵循概述的步驟,您可以輕松地將圖像轉換功能集成到您的應用程序中~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718635.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718635.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718635.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分享經典、現代和前沿軟件工程課程

隨著信息技術的發展,軟件已經深入到人類社會生產和生活的各個方面。軟件工程是將工程化的方法運用到軟件的開發、運行和維護之中,以達到提高軟件質量,降低開發成本的目的。軟件工程已經成為當今最活躍、最熱門的學科之一。 本次軟件工程MOOC課…

模板06-普通函數與函數模板調用規則

1、如果函數模板和普通函數都可以實現&#xff0c;優先調用普通函數 2、可以通過空模板參數列表來強調調用函數模板 3、函數模板也可以發生重載 4、如果函數模板可以發生更好的匹配&#xff0c;優先調用函數模板 #include <iostream> using namespace std;int my_add …

混合云技術架構是什么樣的

混合云技術架構是什么樣的&#xff1f;混合云技術架構是一種將公有云和私有云相結合的云計算架構。它允許組織在私有云和公有云之間靈活地共享和遷移應用程序、數據和服務。 混合云技術架構的設計可以根據組織的需求和業務要求進行定制&#xff0c;通常包括以下組件&#xff1…

現在如何才能開通微信公眾號留言功能?

為什么公眾號沒有留言功能&#xff1f;2018年2月12日之后直到現在&#xff0c;新注冊公眾號的運營者會發現一個問題&#xff1a;無論是個人還是企業的公眾號&#xff0c;在后臺都找不到留言功能了。這對公眾號來說絕對是一個極差的體驗&#xff0c;少了一個這么重要的功能&…

萬村樂數字鄉村系統開源代碼:革命性引領,助推鄉村振興新篇章

如今&#xff0c;國際社會普遍認為信息化、數字化已是重大且不可逆轉的發展趨勢&#xff0c;如何讓廣大農村地區充分分享到這個發展帶來的紅利&#xff0c;從而提升農村的經濟活力&#xff0c;確保村民生活質量不斷優化&#xff0c;已然成為我們需要認真研究并積極解決的重大議…

Window下編寫的sh文件在Linux/Docker中無法使用

Window下編寫的sh文件在Linux/Docker中無法使用 一、sh文件目的1.1 初始狀態1.2 目的 二、過程與異常2.1 首先獲取標準ubuntu20.04 - 正常2.2 啟動ubuntu20.04容器 - 正常2.3 執行windows下寫的preInstall文件 - 報錯 三、檢查和處理3.1 評估異常3.2 處理異常3.3 調整后運行測試…

WebFlux的探索與實戰 - r2dbc的多表查詢

前言 在一個有數據庫的項目中&#xff0c;條件查詢與多表查詢總是同幽靈般如影隨形。 好久不見朋友們&#xff0c;我是forte。 本篇文章會以我的 個人經驗 來介紹下如何在 Spring WebFlux 中使用 Spring Data R2DBC 進行多表查詢。 這次我會以一個自己寫的項目作為基礎來為各…

[課程]yolov9目標檢測封裝成類調用

搞定系列&#xff1a;yolov9目標檢測封裝成類調用 課程地址&#xff1a;https://edu.csdn.net/course/detail/39352 課程介紹課程目錄討論留言 你將收獲 學會yolov9封裝基本技巧和大體思路 學會yolov9封裝類的API調用技巧和自由擴展 學會使用Pycharm調試技巧和運行腳本技…

「連載」邊緣計算(二十四)03-04:邊緣部分源碼(源碼分析篇)

&#xff08;接上篇&#xff09; 在Register()函數中對EdgeHub struct的初始化只是對EdgeHub struct中的controller進行初始化。controller的初始化函數具體如下所示。 KubeEdge/edge/pkg/edgehub/controller.go //NewEdgeHubController creates and returns a EdgeHubContro…

uniapp+vue基于Android的圖書館借閱系統qb4y3-nodejs-php-pyton

uni-app框架&#xff1a;使用Vue.js開發跨平臺應用的前端框架&#xff0c;編寫一套代碼&#xff0c;可編譯到Android、小程序等平臺。 框架支持:springboot/django/php/Ssm/flask/express均支持 前端開發:vue 語言&#xff1a;pythonjavanode.jsphp均支持 運行軟件:idea/eclip…

2023天津公租房網上登記流程圖,注冊到信息填寫

2023年天津市公共租賃住房網上登記流程圖 小編為大家整理了天津市公共租賃住房網上登記流程&#xff0c;從登記到填寫信息。 想要體驗的朋友請看一下。 申請天津公共租賃住房時拒絕申報家庭情況會怎樣&#xff1f; 天津市住房保障家庭在享受住房保障期間&#xff0c;如在應申…

智慧草莓基地:Java與SpringBoot的技術革新

??計算機畢業編程指導師 ??個人介紹&#xff1a;自己非常喜歡研究技術問題&#xff01;專業做Java、Python、微信小程序、安卓、大數據、爬蟲、Golang、大屏等實戰項目。 ??實戰項目&#xff1a;有源碼或者技術上的問題歡迎在評論區一起討論交流&#xff01; ?? Java、…

xss.haozi:0x00

0x00沒有什么過濾所以怎么寫都沒有關系有很多解 <script>alert(1)</script>

【Linux取經路】文件系統——inode與軟硬鏈接

文章目錄 一、前言二、認識硬件——磁盤2.1 磁盤的存儲構成2.2 磁盤的邏輯抽象 三、操作系統對磁盤的使用3.1 再來理解創建文件3.2 再來理解刪除文件3.3 再來理解目錄 四、硬鏈接五、軟鏈接六、結語 一、前言 在之前的【Linux取經路】文件系統之被打開的文件——文件描述符的引…

DevStack 基于 Ubuntu 部署 OpenStack

Devstack 簡介 DevStack 是一系列可擴展的腳本&#xff0c;用于基于 git master 的最新版本快速調出完整的 OpenStack 環境。devstack 以交互方式用作開發環境和 OpenStack 項目大部分功能測試的基礎。 devstack 透過執行 stack.sh 腳本&#xff0c;搭建 openstack 環境&…

AcWing 799. 最長連續不重復子序列

Problem: AcWing 799. 最長連續不重復子序列 文章目錄 思路解題方法復雜度Code 思路 這是一個求最長連續不重復子序列的問題。我們可以使用雙指針&#xff08;滑動窗口&#xff09;的方法來解決。我們維護一個窗口&#xff0c;并使用一個數組來記錄窗口內元素的出現次數。當窗口…

深度學習的一個完整過程通常包括以下幾個步驟

深度學習的一個完整過程通常包括以下幾個步驟&#xff1a; 問題定義和數據收集&#xff1a; 定義清晰的問題&#xff0c;明確任務的類型&#xff08;分類、回歸、聚類等&#xff09;以及預期的輸出。收集和整理用于訓練和評估模型的數據集。確保數據集的質量&#xff0c;進行預…

車聯網產品與應用

在中國&#xff0c;先是小鵬汽車官宣“智駕覆蓋城市數量、可用里程以及用戶口碑均為行業第一”。后有華為問界官宣OTA&#xff0c;領航功能全國可用路段高達99%&#xff0c;“全國都能用&#xff0c;哪哪都能開”。 似乎分分鐘&#xff0c;“自動駕駛”就要干成了。但日新月異的…

Day31|貪心算法1

貪心的本質是選擇每一階段的局部最優&#xff0c;從而達到全局最優。 無固定套路&#xff0c;舉不出反例&#xff0c;就可以試試貪心。 一般解題步驟&#xff1a; 1.將問題分解成若干子問題 2.找出適合的貪心策略 3.求解每一個子問題的最優解 4.將局部最優解堆疊成全局最…

【MySQL】深入解析 Buffer Pool 緩沖池

文章目錄 1、前置知識1.1、Buffer Pool介紹1.2、后臺線程1.2.1、Master Thread1.2.2、IO Thread1.2.3、Purge Thread1.2.4、Page Cleaner Thread 1.3、重做日志緩沖池 2、Buffer Pool 組成2.1、數據頁2.2、索引頁2.3、undo頁2.4、插入緩沖2.5、鎖空間2.6、數據字典2.6、自適應哈…