SVG 轉 PNG

在線將 SVG 轉換為 PNG |將 SVG 儲存為 PNG

可縮放向量圖形 (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.svgConverted.png 下載。

SVG 到 PNG 轉換預覽

圖 1:- SVG 到 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 時遇到任何問題或有任何相關疑問,請隨時透過免費產品支援論壇與我們聯絡。

相關連結

我們建議訪問以下連結以了解更多資訊: