调整图像大小

使用 Java Cloud SDK 调整图像大小

我们的个人生活和官方生活都被光栅图像所包围。在使用手机、扫描仪、成像设备和各种其他用于各种设备的相机时,我们会产生大量图像数据。现在,根据压缩算法,每个设备都会生成不同维度和大小的图像。但是如果我们需要以统一的尺寸存储图像(JPGPNGGIFTIFF 等),那么我们需要调整图像大小。我们在市场上确实有大量的照片缩放器应用程序可用,但如果我们需要在线批量调整图像大小,程序化解决方案始终是一种可行的方法。因此,在本文中,我们将讨论如何使用 Java Cloud SDK 开发图片缩放器的细节/步骤。

图像调整 API

为了调整图像大小,我们将使用 Aspose.Imaging Cloud SDK for Java。由于其基于 REST 的架构,我们可以在任何平台上访问 API 并开发照片缩放器。除了在线调整图像大小的功能外,它还使您能够创建、编辑图像文件并将其转换为各种支持的文件格式。现在为了开始,我们需要通过在 pom.xml(maven 构建类型项目)中包含以下信息来在 java 项目中添加它的引用。

<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>

如果您没有 Aspose Cloud Dashboard 的帐户,请通过有效的电子邮件地址创建一个免费帐户。现在使用新创建的帐户登录并在 Cloud Dashboard 查找/创建客户端 ID 和客户端密码。在以下部分中,出于身份验证目的需要这些详细信息。

在 Java 中调整图像大小

本节介绍如何调整 PNG 图像大小的步骤。 API 期望从本地驱动器加载图像,我们需要直接在请求正文中传递图像。调整 png 操作后,我们可以通过指定 outPath 参数值将更新后的图像保存在 Cloud Storage 上。但是,如果我们不指定该值,则响应将包含流图像。

  • 根据个性化客户端凭证创建 ImagingApi 实例
  • 使用 File 对象从本地文件夹读取 PNG 文件
  • 创建 byte[] 实例并使用 readAllBytes(…) 方法从文件中读取所有字节
  • 使用 Integer 对象指定新的图像尺寸
  • 现在创建一个 CreateResizedImageRequest 实例,我们在其中指定结果图像的名称
  • 最后使用 createResizedImage(…) 方法调整图像大小
// 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// 创建成像对象
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// 从本地驱动器加载文件
File f = new File("PinClipart.png");

// 读取PNG图像的内容到字节数组
byte[] bytes = Files.readAllBytes(f.toPath());
			
// 结果图像的新尺寸
int newWidth = 150;
int newHeight = 150;
		    
// 在指定结果图像名称的同时创建调整图像大小请求
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);

// 在线调整图像大小并将输出保存在云存储中
imageApi.createResizedImage(resizeRequest);

使用 cURL 命令调整 GIF 大小

在调整图像大小操作期间,我们还可以指定图像的更新格式。因此,在本节中,我们将使用 cURL 命令调整 GIF 的大小并以 JPG 格式保存输出。因此,作为先决条件,我们需要在执行以下命令时首先生成 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 令牌后,请调用 ResizeImage API 调整图像大小并将输出以 JPG 格式保存在本地驱动器上(生成的文件格式参数是可选的)。

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/winter.gif/resize?newWidth=200&newHeight=200&format=JPG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o "resultant.jpg"
调整图像大小

调整 GIF 预览大小

源 GIF 图像可以从 winter.gif 下载,结果图像可以从 resultant.jpg 下载。

结论

我们已经学习了一种使用 Java 代码片段在线调整图像大小的惊人方法。它还启发了我们如何使用 cURL 命令在不损失质量的情况下调整图像大小的详细信息。请注意,您还可以在使用 swagger API 参考 时探索 Web 浏览器中的 API 功能。现在,除了 Picture Resizer 功能外,您还可以从 产品文档 探索和了解 API 的其他令人兴奋的功能。尽管如此,我们所有的 Cloud SDK 都是在 MIT 许可下发布的,因此您可以考虑从 GitHub 下载完整的源代码(您可以根据您的要求进行修改)。最后,如果您在使用 API 时遇到任何问题,可以考虑通过免费的 产品支持论坛 联系我们寻求快速解决方案。

相关文章

请访问以下链接以了解更多信息: