光栅图像每天通过手机、扫描仪等生成,它们由 RGB 配色方案组成。现在使用 RBG 颜色,图像尺寸很大,另一方面,灰度图像是一种压缩图像,其中每个像素的值是单个样本,仅代表一种光量;也就是说,它只携带强度信息。此外,灰度图像是完全由灰色阴影组成的黑白或灰色单色图像。对比度范围从黑色(强度最弱)到白色(强度最强)。因此,在本文中,我们将开发灰度图像转换器,以将图像的曝光度修改为灰色阴影。使用灰度滤镜根据需要调整图像的灰色调强度,以消除色彩干扰并强调设计的意义。
灰度图像转换API
我们有基于 REST 的 API,提供在云端操作图像文件的能力。它还支持将图像转换为黑白的功能。因此,为了使用 Java 开发灰度图像转换器,我们将使用 Aspose.Imaging Cloud SDK for Java。除了转换为灰度图像,您还可以将源图像转换为各种其他支持的格式。现在,为了开始转换操作,第一步是通过在 pom.xml(maven 构建类型项目)中包含以下信息,在 java 项目中添加其引用。
<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>
下一步是从 Cloud Dashboard 获取客户端凭据,如果您没有 Aspose Cloud Dashboard 的帐户,请通过有效的电子邮件地址创建一个免费帐户。现在使用新创建的帐户登录并在 Aspose Cloud Dashboard 中查找/创建客户端 ID 和客户端密码。
使用 Java 的灰度照片
本节详细介绍如何加载现有图像并转换为灰度图片。请按照下面指定的说明完成要求。
- 第一步是根据个性化客户端凭证创建 ImagingApi 实例
- 其次,使用 File 对象从本地文件夹中读取 JPG 文件
- 第三,创建 byte[] 实例以使用 readAllBytes(…) 方法读取文件
- 下一步是创建一个 CreateGrayscaledImageRequest 实例,它需要字节数组和生成的灰度图像名称
- 最后调用createGrayscaledImage(…)方法生成灰度图,生成的文件存储在云端
// 从 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());
// 创建灰度转换请求,我们在其中指定结果文件的名称
CreateGrayscaledImageRequest request = new CreateGrayscaledImageRequest(bytes,"grayscale.jpg",null);
// 将图像转换为黑白
imageApi.createGrayscaledImage(request);
使用 cURL 命令生成灰度图片
我们还可以使用 cURL 命令将图像转换为黑白图像。由于我们的 API 仅供授权用户访问,因此为了通过命令行终端使用 cURL 命令访问 API,我们需要首先使用以下命令生成 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 token,请调用 GrayscaleImage API 来生成灰度图。生成灰度照片后,生成的图像将在响应流中返回。
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/grayscale" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "grayscale.jpg"
结论
本文提供了有关如何使用 Java Cloud SDK 将图像转换为黑白图像的所有详细信息。同样,我们也探索了使用 cURL 命令来完成生成灰度图片的需求的选项。除了这些选项,您还可以通过 swagger API 参考 在 Web 浏览器中快速探索 API 功能。我们强烈建议浏览 产品文档 以了解有关 API 提供的其他令人兴奋的功能的更多信息。
此外,我们所有的 Cloud SDK 都是在 MIT 许可下开发的,因此可以从 GitHub 下载完整的源代码。最后,如果您在使用 API 时遇到任何问题,您可以考虑通过免费的 产品支持论坛 联系我们寻求快速解决方案。
相关文章
请访问以下链接以了解更多信息: