WebP 是一種流行的現代圖像格式,為網絡上的圖像提供卓越的無損和有損壓縮。此圖像格式由 Google 開發,旨在替代 JPEG、PNG 和 GIF 文件格式。它支持有損和無損壓縮,以及動畫和 alpha 透明度。它們也很受歡迎,因為 WebP 文件通常比傳統的 JPEG 文件小得多,因此網站加載速度更快,並為用戶提供更好的體驗。然而,許多傳統系統仍然需要光柵圖像格式用於存儲和處理目的,因此,我們可能需要執行 WebP 到 JPG 批量轉換。因此,在本文中,我們將詳細討論如何以編程方式將 WebP 轉換為 JPG、WebP 轉換為 PNG 以及 WebP 轉換為 GIF 格式。
WebP 到 JPG REST API
我們基於 REST 的解決方案 Aspose.Imaging Cloud SDK for Java 是可靠的圖像處理和圖像轉換 API。借助此 API,您可以在應用程序中實現圖像處理功能(編輯和轉換)。它支持光柵圖像、Photoshop 文件、圖元文件和其他格式,例如 WebP 格式。因此,根據本文的範圍,我們將使用此 API 將 WebP 轉換為 JPEG。現在,為了開始使用 SDK,我們需要在我們的 java 項目中添加它的引用,方法是在 pom.xml(maven 構建類型項目)中包含以下信息。
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>http://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
在 Java 項目中添加 REST API 參考後,請從 Cloud Dashboard 獲取您的客戶端憑據。否則,您需要先使用有效的電子郵件地址註冊一個免費帳戶。
在 Java 中將 WebP 轉換為 JPEG
讓我們討論有關如何使用 Java 代碼片段加載 WebP 並將其轉換為 JPG 格式的詳細信息。
- 首先,使用個性化憑證創建一個 ImagingApi 對象
- 其次,使用 readAllBytes(…) 方法加載 WebP 圖像並傳遞給 byte[] 數組
- 第三,通過提供 WebP 圖像作為參數創建 UploadFileRequest 實例,並使用 uploadFile(…) 方法將其上傳到雲存儲
- 現在創建一個 ConvertImageRequest 對象,它以 WebP 圖像名稱和 JPG 格式作為參數
- 調用方法 convertImage(…) 將 WebP 轉換為 JPEG 格式。輸出作為響應流返回
- 最後,使用 FileOutputStream 對象將生成的 JPG 保存到本地驅動器
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// 創建成像對象
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 從本地驅動器加載 WebP 圖像
File file1 = new File("WEBPSampleImage.webp");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 創建文件上傳請求對象
UploadFileRequest uploadRequest = new UploadFileRequest("source.webp",imageStream,null);
// 上傳 WebP 圖像到雲存儲
imageApi.uploadFile(uploadRequest);
// 指定輸出格式為 JPEG
String format = "jpg";
// 創建圖像轉換請求對象
ConvertImageRequest convertImage = new ConvertImageRequest("source.webp", format, null, null);
// 將 WebP 轉換為 JPEG 並在響應流中返回輸出
byte[] resultantImage = imageApi.convertImage(convertImage);
// 將生成的 JPG 保存到本地驅動器
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.jpg");
fos.write(resultantImage);
fos.close();
上面示例中使用的示例 WebP 圖像可以從 WEBPSampleImage.webp 下載,輸出可以從 Converted.jpg 下載。
Java 中的 WebP 到 PNG
本節討論如何在不使用雲存儲的情況下將 WebP 轉換為 PNG 格式的詳細信息。
- 首先,使用個性化憑證創建一個 ImagingApi 對象
- 其次,使用 readAllBytes(…) 方法加載 WebP 圖像並傳遞給 byte[] 數組
- 第三,創建一個 CreateConvertedImageRequest 對象,它以 WebP 圖像名稱和 pNG 格式作為參數。
- 現在調用方法 createConvertedImage(…) 將 WebP 轉換為 PNG。輸出作為響應流返回
- 最後,使用 FileOutputStream 對象將生成的 PNG 保存到本地驅動器
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// 創建成像對象
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 從本地驅動器加載 WebP 圖像
File file1 = new File("WEBPSampleImage.webp");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 指定輸出格式為 PNG
String format = "png";
// 創建圖像轉換請求對象
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// 將 WebP 轉換為 PNG 並在響應流中返回輸出
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);
// 將結果 PNG 保存到本地驅動器
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
注意:- 如果我們需要將生成的 PNG 保存在雲存儲中,請在創建 CreateConvertedImageRequest 對象時傳遞 PNG 路徑詳細信息。在這種方法中,將跳過將輸出流存儲到本地驅動器的最後一步。
使用 cURL 命令將 WebP 轉為 GIF
REST API 也可以通過 cURL 命令訪問,因此在本節中,我們將使用 cURL 命令執行 WebP 到 GIF 的轉換。現在先決條件是使用以下命令生成 JWT 訪問令牌(基於客戶端憑據)。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
生成 JWT 後,請執行以下命令進行 WebP 到 GIF 的轉換。
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/WEBPSampleImage.webp/convert?format=GIF" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "Converted,gif"
結論
本文解釋了有關如何將 WebP 轉換為 JPEG、WebP 為 PNG 以及如何使用 REST API 執行 WebP 到 GIF 轉換的所有必要細節。我們已經了解了使用 cURL 命令以編程方式將 WebP 轉換為 JPG 或將 webp 轉換為 gif 的步驟。我們強烈建議您瀏覽 產品文檔,這是了解 API 提供的其他令人興奮的功能的絕佳信息來源。
您還可以考慮在 Web 瀏覽器中通過 SwaggerUI 測試 API 功能,如果您需要下載和修改 Cloud SDK 的源代碼,可以在 GitHub(根據 MIT 許可發布)上獲得.最後,如果您在使用 API 時遇到任何問題,您可以考慮通過免費的 產品支持論壇 聯繫我們尋求快速解決方案。
相關文章
請訪問以下鏈接以了解更多信息: