Portable Network Graphic (PNG) 是一种基于位图格式的光栅图像类型,广泛用于网站显示高质量数字图像。这种格式很受欢迎,因为它提供无损压缩和更广泛和更明亮的调色板。但是,在图像编辑方面,编辑 PNG 图像中的单个对象几乎是不可能的。但是,如果我们有一个 PSD 文件(默认的 Adobe Photoshop 格式),则编辑此类图像非常容易。因此,在本文中,我们将讨论有关如何使用 REST API 在移动设备或 PC 上将 PNG 转换为 PSD 的所有细节。
PSD 到 PNG 转换 API
为了以编程方式将一个图像转换为另一种图像格式,Aspose.Imaging Cloud SDK for Java 是一个了不起的解决方案。您可以选择以编程方式编辑、操作光栅图像、图元文件和 Photoshop 文件并将其转换为各种支持的格式。这个单一的 SDK 能够将 PNG 转换为 PSD,反之亦然。因此,使用更少的代码行,您可以轻松地执行 PNG 到 PSD 的转换。
现在,为了开始使用 SDK,我们需要在我们的 Java 项目中添加它的引用,方法是在 pom.xml(maven 构建类型项目)中包含以下信息。
<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>
如果您已经在 Aspose Cloud 上注册,请从 Dashboard 获取您的客户端凭据。否则,您需要先使用有效的电子邮件地址注册一个免费帐户。
在 Java 中将 PNG 转换为 PSD
本节详细介绍了如何使用 Java 代码片段将 PNG 转换为 PSD。
- 首先,在传递您的个性化客户端凭据时创建一个 ImagingApi 对象。
- 其次,使用 readAllBytes(…) 方法加载 PNG 文件并将值返回给 byte[] 数组。
- 第三,创建一个 UploadFileRequest 实例,同时将 PNG 名称作为参数传递,并使用 uploadFile(…) 方法将其上传到云存储。
- 现在创建一个 ConvertImageRequest 对象,它将输入的 PNG 名称和结果格式 (PSD) 作为参数。
- 调用方法 convertImage(…) 将 PNG 格式转换为 PSD 格式并将输出作为响应流返回。
- 最后,使用 FileOutputStream 对象将生成的 PSD 保存到本地驱动器。
// 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 创建成像对象
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// 从本地驱动器加载 png 图像
File file1 = new File("input.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// 创建文件上传请求对象
UploadFileRequest uploadRequest = new UploadFileRequest("input.png",imageStream,null);
// 上传PNG图像到云存储
imageApi.uploadFile(uploadRequest);
// 指定图像的输出格式
String format = "psd";
// 创建图像转换请求对象
ConvertImageRequest convertImage = new ConvertImageRequest("input.png", format, null, null);
// 将 PNG 转换为 PSD 并在响应流中返回图像
byte[] resultantImage = imageApi.convertImage(convertImage);
// 将生成的 PSD 保存到本地驱动器
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.psd");
fos.write(resultantImage);
fos.close();
上例中使用的示例 PNG 图像和 PSD 文件可以分别从 PinClipart.png 和 Converted.psd 下载。
使用 cURL 命令将 PNG 转为 PSD
可以通过 cURL 命令(通过命令行终端)轻松访问 REST API。因此,在本节中,我们将探讨如何使用 cURL 命令执行 PNG 到 PSD 转换的详细信息。现在,作为先决条件,我们需要使用以下命令生成 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"
现在请执行以下命令将 PNG 格式转换为 PSD 格式并将输出保存在本地驱动器上。
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.png/convert?format=psd" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.psd
结论
到本文结束时,我们已经探索了如何使用 Java REST API 将 PNG 转换为 PSD 的所有细节。同样,我们还探索了使用 cURL 命令将 PNG 转换为 PSD 的选项。除了这些方法之外,API 的功能可以使用 SwaggerUI(在网络浏览器中)轻松测试。此外,SDK 的完整源代码可在 GitHub(根据 MIT 许可发布)上获得。您可以考虑根据您的要求下载和修改它。
然而,产品文档 是学习和探索 API 提供的其他令人兴奋的功能的绝佳信息来源。最后,如果您在使用 API 时遇到任何问题,您可以考虑通过免费的 产品支持论坛 联系我们寻求快速解决方案。
相关文章
请访问以下链接以了解更多信息: