在本指南中,我們將向您展示如何使用 Java 將 JPG、PNG、JPEG 和 GIF 圖像格式轉換為 WebP。該過程簡單明了,可以很容易地集成到您現有的 Java 應用程序中。無論您是需要轉換單個圖像還是批處理多個圖像,我們的指南都可以讓您輕鬆地將 JPG 轉換為 WebP、將 PNG 轉換為 WebP、將 JPEG 轉換為 WebP 以及將 GIF 轉換為 WebP。
我們知道 JPEG 圖像是高度可壓縮的,非常便攜並且與幾乎所有設備兼容。此外,高分辨率的 JPEG 圖像色彩鮮豔。同樣,PNG 中的壓縮是無損的,適用於細節豐富、對比度高的圖像。然而,WebP 格式是由谷歌開發的,是一種流行的現代圖像格式,可為網絡上的圖像提供卓越的無損和有損壓縮。它通常比 JPG、PNG 等小得多 (25%-34%),因此網站加載速度更快。現在讓我們探討如何在 Java 中將 JPG 轉換為 WebP 的詳細信息。
JPG 到 WebP REST API
Aspose.Imaging Cloud SDK for Java 是我們最好的解決方案之一,提供可靠的圖像處理和圖像轉換功能。使用簡單的代碼行在 Java 應用程序中提供圖像處理功能(編輯和轉換)。該 API 能夠處理光柵圖像、Photoshop 文件、圖元文件和 WebP 格式。現在,根據本文的範圍,我們將利用它在 Java 應用程序中將 jpg 轉換為 webp。現在第一步是通過在 pom.xml(maven 構建類型項目)中包含以下信息,在我們的 java 項目中添加 API 引用。
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://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 中將 JPG 轉換為 WebP
在本節中,我們將討論使用 Java 代碼片段將 JPG 轉換為 WebP 的所有相關細節。
- 首先,使用個性化憑證創建一個 ImagingApi 對象
- 其次,使用 readAllBytes(…) 方法加載 JPG 圖像並將返回值傳遞給 byte[] 數組
- 第三,通過提供 JPEG 圖像作為參數創建 UploadFileRequest 實例,並使用 uploadFile(…) 方法將其上傳到雲存儲
- 現在創建一個 ConvertImageRequest 對象,它以 JPEG 圖像名稱和 ‘webp’ 格式作為參數
- 調用方法 convertImage(…) 執行 JPG 到 WebP 的轉換。然後將輸出作為響應流返回
- 最後,使用 FileOutputStream 對象將生成的 WebP 保存到本地驅動器
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// 創建成像對象
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 從本地驅動器加載輸入 JPEG 圖像
File file1 = new File("butterfly-yellow.jpeg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 創建文件上傳請求對象
UploadFileRequest uploadRequest = new UploadFileRequest("input.jpg",imageStream,null);
// 上傳jpg圖片到雲存儲
imageApi.uploadFile(uploadRequest);
// 指定輸出格式為 WebP
String format = "webp";
// 創建圖像轉換請求對象
ConvertImageRequest convertImage = new ConvertImageRequest("input.jpg", format, null, null);
// 將 JPG 轉換為 WebP 並在響應流中返回輸出
byte[] resultantImage = imageApi.convertImage(convertImage);
// 將生成的 WebP 保存到本地驅動器
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
PNG 到 Java 中的 WebP
讓我們討論一下如何在不使用雲存儲的情況下執行 PNG 到 WebP 轉換的細節。源圖像從本地驅動器加載,轉換後,生成的文件也存儲在本地硬盤上。
- 首先,使用個性化憑證創建一個 ImagingApi 對象
- 其次,使用 readAllBytes(…) 方法加載 PNG 圖像並傳遞給 byte[] 數組
- 第三,創建一個 CreateConvertedImageRequest 對象,它以 PNG 圖片名稱和 webp 格式作為參數。
- 現在調用方法 createConvertedImage(…) 執行 PNG 到 WebP 的轉換。輸出作為響應流返回
- 最後,使用 FileOutputStream 對象將生成的 WenP 保存到本地驅動器
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// 創建成像對象
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 從本地驅動器加載 PNG 圖像
File file1 = new File("source.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 指定輸出格式為 WebP
String format = "webp";
// 創建圖像轉換請求對象
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// 將 PNG 轉換為 WebP 並在響應流中返回輸出
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);
// 將生成的 WebP 保存到本地驅動器
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
注意:- 為了將生成的 WebP 保存在雲存儲上,請在創建 CreateConvertedImageRequest 對象時傳遞 WebP 路徑詳細信息。在這種方法中,將跳過將輸出流存儲到本地驅動器的最後一步。
使用 cURL 命令將 GIF 轉為 WebP
除了 Java 代碼,還可以通過 cURL 命令訪問 REST API。因此,在本節中,我們將使用 cURL 命令執行 GIF 到 WebP 的轉換。現在先決條件是使用以下命令生成 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 後,請執行以下命令執行 GIF 到 WebP 的轉換並將輸出保存到本地驅動器
curl -X -v GET "https://api.aspose.cloud/v3.0/imaging/UpdateGIFSampleImage.gif/convert?format=webp" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT>" \
-o "output.webp"
結論
本文提供了使用 Java 將 JPG 轉換為 WebP、將 PNG 轉換為 WebP 以及將 GIF 轉換為 WebP 的所有必要細節。同時,我們也學習了使用cURL命令將GIF轉WebP的步驟。請注意,我們強烈建議您瀏覽 產品文檔,這是一個了不起的信息來源。它將啟發您了解 REST API 當前提供的其他令人興奮的功能。
此外,您還可以考慮通過 SwaggerUI(在網絡瀏覽器中)測試 API 功能,如果您需要下載和修改源代碼,可以從 GitHub(已發布)訪問在麻省理工學院許可下)。最後,如果您在使用 API 時遇到任何問題,請隨時通過免費 產品支持論壇 與我們聯繫以尋求快速解決方案。
相關文章
請訪問以下鏈接以了解更多信息: