圖像處理控件Aspose.Imaging教程:使用 C# 將 SVG 轉換為 EMF

Aspose.Imaging?for .NET是一款深受 .NET 開發人員喜愛的圖像處理 SDK,因為它靈活且易于開發人員使用。EMF 圖像文件格式提供出色的打印質量和可擴展性。此外,這種圖像文件格式還節省存儲空間。Aspose.Imaging for .NET??能夠使 SVG 到 EMF 的轉換變得簡單且經濟實惠。本教程將演示如何借助Aspose.Imaging?for .NET在 C# 中無縫地將SVG轉換為EMF。請確保您已在計算機上安裝 .NET,以便可以立即實現該功能。

Aspose.Imaging for .NET官方正版下載

圖像處理 SDK - 安裝

我們將安裝Aspose.Imaging for .NET。請訪問鏈接下載

Install-Package Aspose.Imaging

使用 C# 編程將 SVG 轉換為 EMF

您可以按照以下步驟開發 SVG 到 EMF 轉換器:

  1. 循環遍歷文件數組。
  2. 通過調用Image.Load(inputFileName)方法加載源 SVG 文件。
  3. 將 SVG光柵化選項設置為與原始圖像相同的頁面大小。
  4. 初始化 EMF選項并分配 SVG 光柵化設置以進行矢量渲染。
  5. Save方法將把生成的 EMF 文件保存到磁盤上。

以下代碼示例展示了如何以編程方式在 C# 中將 SVG 轉換為 EMF:

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;namespace CSharp.ModifyingAndConvertingImages.CDR
{class CdrToPngExample{static void Main(){// The path to the documents directory.string dataDir = "files";string[] testFiles = new string[] { "Sample.svg" };License lic = new License();lic.SetLicense(dataDir+"License.lic");// Loop through the files array.foreach (string fileName in testFiles){string inputFileName = Path.Combine(dataDir, fileName);string outputFileName = Path.Combine(dataDir, fileName + ".emf");// Load the source SVG file by calling the Image.Load(inputFileName) method. using (Image image = Image.Load(inputFileName)){// Set SVG rasterization options with the same page size as the original image. VectorRasterizationOptions vectorRasterizationOptions = new SvgRasterizationOptions { PageSize = image.Size };// Initialize EMF options and assign the SVG rasterization settings for vector rendering. EmfOptions emfOptions = new EmfOptions{VectorRasterizationOptions = vectorRasterizationOptions};// The Save method will save the resultant EMF file on the disk. image.Save(outputFileName,emfOptions);}}}}}

輸出:

總結

我們探索了一種可靠的方法,可以在 C# 中以編程方式將 SVG 轉換為 EMF。Aspose.Imaging?for .NET是 .NET 開發人員實現自動化轉換的優選方案。此外,這款圖像處理 SDK 賦予程序員完全控制權,使他們能夠根據自身需求擴展功能。這篇博文介紹了其基本功能。

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

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

相關文章

網絡編程——套接字

目錄 一、Socket套接字 (一)概念 (二)分類 1.流套接字: 2.數據報套接字 3.原始套接字 二、TCP協議VSUDP協議 (一)有連接VS無連接 (二)可靠傳輸VS不可靠傳輸 &a…

Git 基礎操作筆記(速查)

1. 初始化倉庫git init在當前文件夾初始化一個新的 Git 倉庫。2. 克隆倉庫git clone <倉庫地址>從遠程倉庫復制項目到本地。3. 查看文件狀態git status查看工作區和暫存區的文件狀態。4. 添加文件到暫存區git add <文件名> git add . # 添加所有改動文件5. 提…

【并查集】P3367 【模板】并查集

P3367 【模板】并查集 題目背景 本題數據范圍已經更新到 1≤N≤21051\le N\le 2\times 10^51≤N≤2105&#xff0c;1≤M≤1061\le M\le 10^61≤M≤106。 題目描述 如題&#xff0c;現在有一個并查集&#xff0c;你需要完成合并和查詢操作。 輸入格式 第一行包含兩個整數 N,MN,M…

MyBatis流式查詢詳解

MyBatis 流式查詢詳解&#xff1a;ResultHandler 與 Cursor 在業務中&#xff0c;如果一次性查詢出百萬級數據并返回 List&#xff0c;很容易造成 OOM 或 長時間 GC。 MyBatis 提供了 流式查詢&#xff08;Streaming Query&#xff09; 能力&#xff0c;讓我們可以邊讀邊處理&a…

1Panel Agent 證書繞過實現遠程命令執行漏洞復現(CVE-2025-54424)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 前…

kettle插件-kettle http post plus插件,輕松解決https post接口無法調用文件流下載問題

場景&#xff1a;小伙伴在使用kettle調用https post接口過程中無法正常調用&#xff0c;程序出錯問題&#xff0c;今天演示下用自研插件輕松解決這個問題。1、使用openssl 生成自簽名證書openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 3652、…

劍指offer第2版——面試題2:實現單例

文章目錄一、題目二、考察點三、答案3.1 C11寫法3.2 C98寫法&#xff08;線程安全只存在于懶漢模式&#xff09;3.2.1 小菜寫法3.2.2 小菜進階寫法3.2.3 中登寫法3.2.3 老鳥寫法四、擴展知識4.1 餓漢模式和懶漢模式的區別4.1.1 餓漢模式&#xff08;Eager Initialization&#…

OpenAI開源大模型gpt-oss系列深度解析:從120B生產級到20B桌面級應用指南

引言&#xff1a;OpenAI開源里程碑&#xff0c;AI民主化加速到來 2025年8月&#xff0c;OpenAI正式宣布開源其兩款重磅大語言模型——gpt-oss-120b&#xff08;1200億參數生產級模型&#xff09;和gpt-oss-20b&#xff08;200億參數桌面級模型&#xff09;&#xff0c;引發全球…

本地部署文檔管理平臺 BookStack 并實現外部訪問( Windows 版本)

BookStack 是一款專注于書籍、文檔管理的開源平臺&#xff0c;它界面設計直觀簡潔&#xff0c;功能強大且易于使用&#xff0c;允許用戶創建、組織和分享文檔資料&#xff0c;特別適合用于構建內部文檔系統、知識庫或公開的文檔站點。本文將詳細介紹如何在 Windows 系統本地部署…

VS Code編輯器

實際上&#xff0c;?Visual Studio Code&#xff08;簡稱VS Code&#xff09;?是由微軟開發的免費、開源、跨平臺的代碼編輯器&#xff0c;支持多種編程語言和框架&#xff0c;廣泛應用于現代Web和云應用開發。這也是個編輯器&#xff0c;可能是繼 GitHub 的 Atom 之后的一枝…

自動化測試篇--BUG篇

目錄 一.軟件測試的生命周期 二.bug是什么&#xff1f; 三.如何描述一個bug&#xff1f; 四.bug的級別 五.bug的生命周期 六.測試與開發產生爭執怎么辦&#xff1f;&#xff08;重要&#xff01;&#xff01;&#xff01;&#xff09; 一.軟件測試的生命周期 軟件測試人員…

Solidity智能合約基礎

基礎學習使用 remix&#xff1a;ide Remix - Ethereum IDE evm&#xff1a;ethreum virtual machine evm字節碼 強類型腳本語言 compile >evm bytescode >evm hello的樣例 聲明的關鍵字&#xff1a;contract // SPDX-License-Identifier: MIT pragma solidi…

Unity跨平臺超低延遲的RTSP/RTMP播放器技術解析與實戰應用

?? 引言&#xff1a;為什么說 Unity 中的視頻能力是“可視化神經元”&#xff1f; 隨著“可視化 實時性”成為工業數字化的關鍵支撐&#xff0c;Unity 正從傳統游戲引擎&#xff0c;演進為數字孿生系統、智能機器人中控、虛擬交互平臺、XR 可視引擎等領域的底層核心。它不再…

python學智能算法(三十三)|SVM-構建軟邊界拉格朗日方程

【1】引用 在前序學習進程中&#xff0c;我們初步了解了SVM軟邊界&#xff0c;今天就更進一步&#xff0c;嘗試構建SVM軟邊界的拉格朗日函數。 【2】基本問題 在SVM軟邊界中&#xff0c;我們已經獲得此時的最優化幾何距離的表達式&#xff1a; fmin?12∣∣w∣∣2C∑i1nξif…

【YOLOv5】

Focus模塊&#xff1a;早期再yolov5版本提出&#xff0c;后期被常規卷積替換&#xff0c;作用是圖像進入主干網絡之前&#xff0c;進行隔行隔列采樣&#xff0c;把空間維度堆疊到通道上&#xff0c;減少計算量。 SPPF:SPP的改進版本&#xff0c;把SPP的不同池化核改變為K 5 的…

Pytest項目_day05(requests加入headers)

headers 由于每個請求都需要加入一些固定的參數&#xff0c;例如&#xff1a;cookies、user-agent&#xff0c;那么將這些固定參數放入URL或params中會顯得很臃腫&#xff0c;因此一般將這些參數放在request headers中headers的反爬作用 在豆瓣網站中&#xff0c;如果我們不加入…

安全引導功能及ATF的啟動過程(四)

安全引導功能及ATF的啟動過程&#xff08;四&#xff09; ATF中bl31的啟動 在bl2中觸發安全監控模式調用后會跳轉到bl31中執行&#xff0c;bl31最主要的作用是建立EL3運行態的軟件配置&#xff0c;在該階段會完成各種類型的安全監控模式調用ID的注冊和對應的ARM核狀態的切換&am…

從手工到智能決策,ERP讓制造外貿企業告別“數據孤島“降本增效

在全球化競爭加劇的當下&#xff0c;制造型外貿企業正面臨訂單碎片化、供應鏈復雜化、合規風險上升等多重挑戰。數字化轉型已成為企業突破增長瓶頸、構建核心競爭力的必選項。然而&#xff0c;許多企業在推進過程中因選型不當陷入“系統孤島”“數據失真”“流程低效”等困境。…

DMETL簡單介紹、安裝部署和入門嘗試

一、DMETL的介紹1.1 概述我們先來簡單了解一下DMETL。DMETL是什么&#xff1f;說的簡單一點&#xff0c;DMETL一款數據處理與集成平臺&#xff1b;從功能來說&#xff0c;那DMETL就是對數據同步、數據處理以及數據交換共享提供一站式支持的平臺&#xff1b;從它的意義來說&…

NLP 人工智能 Seq2Seq、K-means應用實踐

基于Java和人工智能的Web應用 以下是基于Java和人工智能的Web應用實例,涵蓋自然語言處理、計算機視覺、數據分析等領域。這些案例結合了沈七星AI或其他開源框架(如TensorFlow、Deeplearning4j)的實現思路,供開發參考: 自然語言處理(NLP) 1. 智能客服系統 使用Java的Op…