聯合影像專家小組 (JPG/JPEG) 和可攜式網路圖形 (PNG) 是網路上使用的兩種流行的光柵影像格式。與依賴 DCT 壓縮的 JPEG 不同,PNG 使用 LZW 壓縮,與 GIF 和 TIFF 格式使用的壓縮相同。 PNG 相對於 JPEG 的最大優點是無損壓縮,這意味著每次打開和再次保存時品質不會損失。 PNG 還可以很好地處理詳細、高對比度的影像。在本文中,我們將討論如何使用 .NET REST API 將 JPG 映像轉換為 PNG 格式的步驟。
映像處理API
Aspose.Imaging Cloud 是我們影像格式處理的領先產品之一。它使您能夠裁剪、翻轉、縮放、旋轉、搜尋、轉換現有圖像格式並將其匯出為支援的檔案格式。 REST 架構使開發人員能夠在其基於雲端的解決方案中實現各種成像功能。為了進一步方便我們的客戶,我們在 Aspose.Imaging REST API 之上開發了 Aspose.Imaging Cloud SDK for .NET,以便您在 C# .NET 應用程式中獲得所有進階映像操作。
安裝
為了使用SDK,我們需要先在系統上安裝它。它可以透過 NuGet 和 GitHub 下載。請在終端機中執行以下命令透過NuGet安裝SDK:
nuget install Aspose.Imaging-Cloud
或在NuGet套件管理器中執行以下命令:
PM> Install-Package Aspose.Imaging-Cloud
Visual Studio 方法
另一種方法是直接在 Visual Studio 中安裝:
- 開啟解決方案資源管理器。
- 展開專案並右鍵單擊解決方案中的 Packages 資料夾。
- 選擇管理 NuGet 套件…選項
- 點擊“瀏覽”選項卡並蒐索“Aspose.Imaging-Cloud”。
- 按一下 Aspose.Imaging-Cloud 套件旁的複選框,在右側標籤中選擇適當的版本,然後按一下新增套件按鈕。
Aspose.Cloud 訂閱
我們的所有 API 僅供授權人員訪問,以維護資料完整性和隱私。此外,儲存在雲端儲存中的檔案與透過 Aspose.Cloud 儀表板 訂閱的帳戶相關聯。因此,第一步是透過存取 Aspose.Cloud 儀表板 建立免費訂閱帳戶。如果您有 GitHub 或 Google 帳戶,只需註冊即可。否則,請按一下建立新帳戶按鈕並提供所需資訊。現在使用憑證登入儀表板,並從儀表板展開「應用程式」部分,然後向下捲動至「用戶端憑證」部分以查看用戶端 ID 和用戶端金鑰詳細資料。
C# 中 JPG 轉 PNG
請依照下列步驟在 C# .NET 應用程式中將 JPG 格式轉換為 PNG。
- 建立 ImagingApi 對象,同時傳遞客戶端 ID 和客戶端金鑰詳細資訊作為參數
- 其次,從本機磁碟機讀取 JPEG 映像並將其作為參數傳遞給 UploadFileRequest 對象
- 第三,呼叫ImagingApi的UploadFile(…)方法將檔案上傳到雲端存儲
- 現在建立 ConvertImageRequest 類別的實例,它將映像名稱和結果輸出格式作為參數
- 然後呼叫ImagingApi類別的ConvertImage(…)方法發起轉換操作
- 最後,使用 File.Create 將流的輸出儲存到本機磁碟機(下方分享自訂方法)。
// 從 https://dashboard.aspose.cloud/ 取得 ClientID
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// 建立 ImagingApi 的實例
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");
// 輸入JPEG影像的路徑
string imageFile = "jpg-to-png.jpeg";
// 輸出文件格式
string format = "png";
// 結果檔名
string resultantFile = "converted.png";
// 從本機磁碟機載入文件
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// 將原始文檔上傳至雲端存儲
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// 建立圖像請求
var request = new ConvertImageRequest(imageFile, format, null, null);
// 啟動轉換操作
Stream updatedImage = imagingApi.ConvertImage(request);
// 如果轉換成功則列印成功訊息
if (request != null && request.Equals("OK"))
{
Console.WriteLine("JPG successfully converted to PNG !");
Console.ReadKey();
}
// 呼叫該方法透過系統驅動器保存輸出
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// 將 steam 物件儲存為檔案實例的自訂方法
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
用於 JPEG 到 PNG 轉換的 cURL 指令
雲端 API 的 REST 架構使我們甚至可以透過命令列終端存取它們。但由於安全限制,您需要先根據從 Aspose.Cloud 儀表板 檢索到的 ClientID 和 ClientSecret 詳細資訊產生 JSON Web 令牌 (JWT)。請在終端機中執行以下命令來產生 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"
一旦我們有了 JWT 令牌,下一步就是呼叫 ConvertImage API 來執行 JPG 到 PNG 的轉換操作。
curl -X GET "https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o converted.png
請求網址
https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png
結論
我們探索了 Aspose.Imaging Cloud API 將 JPEG 映像轉換為 PNG 格式。我們已經學習了使用 C# .NET 程式碼轉換檔案的過程以及使用 cURL 命令的轉換。另請注意,Cloud SDK 是根據 MIT 許可證分發的,其完整原始程式碼可透過 GitHub 下載。如果您在使用API時遇到任何問題或有任何疑問,請隨時透過免費產品支援論壇聯絡。
相關文章
我們還建議訪問以下連結以了解更多信息