可縮放向量圖形 (SVG) 定義了基於向量的 Web 圖形。 SVG 是一種基於 XML 的向量圖像格式,用於二維圖形,支援互動性和動畫。這種格式很流行用於在互聯網上渲染二維圖像,其中圖像可以縮放到任何尺寸。但是,如果我們需要將 SVG 轉換為 PNG 進行無損壓縮,並且不會失去細節和質量,那麼 Aspose.Imaging Cloud 是一個可行的解決方案。
本文提供有關如何在線將 SVG 轉換為 PNG 的詳細資訊。
影像轉換API
Aspose.Imaging Cloud 是我們針對影像處理需求的程式解決方案。您可以執行的操作包括調整大小、裁剪、旋轉、縮放、翻轉、搜尋以及將圖像匯出為各種支援的格式。為了進一步方便我們的用戶,我們建立了特定於程式語言的 SDK,並且根據本文的範圍,我們將使用 Aspose.Imaging Cloud SDK for .NET。現在請造訪以下連結以了解有關如何安裝Aspose.Cloud SDKs的更多資訊。
在 C# 中將 SVG 轉換為 PNG
請依照以下說明將雲端儲存中已有的 SVG 影像轉換為 PNG 格式。
- 第一步是建立 ImagingApi 的實例,同時傳遞 ClientID 和 ClientSecret 詳細資料作為參數。
- 其次,使用 ImagingApi 的 UploadFile(..) 方法將 SVG 映像上傳到雲端儲存。
- 第三,建立 ConvertImageRequest 類別的實例,同時將輸入 SVG 的名稱和結果格式作為參數傳遞。
- 現在呼叫ConvertImage(..)方法來執行轉換操作。產生的 PNG 會以 Stream 實例傳回。
- 最後,使用 File.Create 呼叫自訂方法,將 Stream 實例儲存為本機磁碟機上的檔案。
// 如需完整範例,請造訪 https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// 從 https://dashboard.aspose.cloud/ 取得客戶端憑證
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// 創建DiagramApi對象
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");
// 輸入 SVG 檔案的名稱
String inputFileName = "trashloader2.svg";
// 結果文件格式
String newFormat = "png";
// 輸出文件的名稱
String newFileName = "Converted.png";
try
{
// 從本機磁碟機載入文件
using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
{
// 建立文件上傳請求
UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
// 上傳文件到預設雲端存儲
imagingApi.UploadFile(request);
// 建立影像轉換實例
var response = new ConvertImageRequest(inputFileName,newFormat);
// 啟動影像轉換操作
var responseStream = imagingApi.ConvertImage(response);
// 將流實例儲存為本地儲存上的文件
saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
作為參考,上例中使用的範例圖片可以從 trashloader2.svg 和 Converted.png 下載。
使用 cURL 指令將 SVG 轉為 PNG
在本節中,我們將使用 cURL 指令將 SVG 轉換為 PNG。第一步是根據客戶端憑證產生 JWT 存取令牌。請執行以下命令產生一個:
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
現在執行以下 cURL 命令將 SVG 轉換為 PNG,其中結果會作為回應流傳回,並且可以儲存到本機磁碟機。
curl -X GET "https://api.aspose.cloud/v3.0/imaging/trashloader2.svg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
如果您需要轉換作為零索引多部分/表單資料內容或原始正文流傳遞的 SVG 影像。
curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png
結論
我們已經討論了 Aspose.Imaging Cloud API 的圖像轉換功能。具體重點是使用 C# .NET 程式碼片段將 SVG 轉換為 PNG。同時,我們討論瞭如何透過 cURL 指令將 SVG 儲存為 PNG 的詳細資訊。請注意,也可以透過 Swagger 介面存取 API,並且您可以在 Web 瀏覽器中測試 API。儘管如此,Cloud SDK 是在 MIT 許可下開發的,因此可以從 GitHub 下載完整的原始程式碼。
如果您在使用 API 時遇到任何問題或有任何相關疑問,請隨時透過免費產品支援論壇與我們聯絡。
相關連結
我們建議訪問以下連結以了解更多資訊: