Portable Network Graphics (PNG) — это тип растрового изображения, основанный на растровом формате, который широко используется на веб-сайтах для отображения высококачественных цифровых изображений. Этот формат популярен, потому что он предлагает сжатие без потерь и гораздо более широкую и яркую цветовую палитру. Однако когда дело доходит до редактирования изображений, практически невозможно редактировать отдельные объекты внутри изображения PNG. Но если у нас есть файл PSD (формат Adobe Photoshop по умолчанию), такие изображения довольно легко редактировать. Итак, в этой статье мы подробно обсудим, как конвертировать PNG в PSD на мобильном устройстве или ПК с помощью REST API.
API преобразования PSD в PNG
Чтобы программно преобразовать одно изображение в другой формат изображения, Aspose.Imaging Cloud SDK для 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. В противном случае вам необходимо сначала зарегистрировать бесплатную учетную запись, используя действующий адрес электронной почты.
Преобразование PNG в PSD в Java
В этом разделе объясняется, как преобразовать PNG в PSD с помощью фрагмента кода Java.
- Во-первых, создайте объект ImagingApi, передав свои персональные учетные данные клиента.
- Во-вторых, загрузите файл PNG с помощью метода readAllBytes(…) и верните значение в массив byte[].
- В-третьих, создайте экземпляр UploadFileRequest, передав имя PNG в качестве аргумента, и загрузите его в облачное хранилище с помощью метода uploadFile(…).
- Теперь создайте объект ConvertImageRequest, который принимает входное имя PNG и результирующий формат (PSD) в качестве аргументов.
- Вызовите метод convertImage(…), чтобы преобразовать формат PNG в PSD и вернуть результат в виде потока ответа.
- Наконец, сохраните полученный PSD-файл на локальный диск с помощью объекта FileOutputStream.
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
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 соответственно.
PNG в PSD с использованием команд cURL
К REST API можно легко получить доступ с помощью команд cURL (через терминал командной строки). Итак, в этом разделе мы подробно рассмотрим, как выполнить преобразование PNG в PSD с помощью команд cURL. Теперь, в качестве предварительного условия, нам нужно сгенерировать токен доступа 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
Заключение
К концу этой статьи мы изучили все детали того, как мы можем преобразовать PNG в PSD с помощью Java REST API. Точно так же мы также изучили возможность преобразования PNG в PSD с помощью команд cURL. Помимо этих подходов, функции API можно легко протестировать с помощью SwaggerUI (в веб-браузере). Кроме того, полный исходный код SDK доступен на GitHub (опубликовано по лицензии MIT). Вы можете загрузить и изменить его в соответствии с вашими требованиями.
Тем не менее, документация по продукту — прекрасный источник информации для изучения и изучения других интересных функций, предлагаемых API. Наконец, если у вас возникнут какие-либо проблемы при использовании API, вы можете обратиться к нам за быстрым решением через бесплатный форум поддержки продукта.
Статьи по Теме
Пожалуйста, перейдите по следующим ссылкам, чтобы узнать больше о: