在本指南中,我们将向您展示如何使用 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 时遇到任何问题,请随时通过免费 产品支持论坛 与我们联系以寻求快速解决方案。
相关文章
请访问以下链接以了解更多信息: