Ежедневно мы создаем огромную коллекцию изображений с помощью цифровых камер, сканеров и т. д., и большинство из них в форматах JPG, PNG, GIF, TIFF. и т.д. Теперь мы можем захватывать ненужные объекты/элементы на картинке. Поэтому нам часто требуется обрезать фотографию, чтобы удалить ненужный объект или ненужную деталь с изображения. У нас может возникнуть потребность изменить соотношение сторон изображения или улучшить общую композицию изображения. Итак, в этой статье мы узнаем подробности о том, как обрезать изображение с помощью Java Cloud SDK.
API обрезки изображений
Чтобы обрезать фотографию в Java-приложении, мы будем использовать Aspose.Imaging Cloud SDK для Java. API позволяет указать положение, а также размеры прямоугольника обрезки. После завершения операции обрезки изображения мы можем либо сохранить выходное изображение в том же формате, либо воспользоваться рычагом, чтобы сохранить обрезанное изображение в другом формате. Перейдите по следующей ссылке, чтобы получить список поддерживаемых форматов. Теперь, чтобы начать работу, первым шагом является добавление ссылки в проект java, включив следующую информацию в pom.xml (проект типа сборки maven).
<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>
После настройки проекта нам необходимо получить учетные данные клиента из Cloud Dashboard. Теперь, если у вас нет учетной записи на Aspose Cloud Dashboard, создайте бесплатную учетную запись, используя действующий адрес электронной почты. Теперь войдите в систему, используя только что созданную учетную запись, и найдите/создайте идентификатор клиента и секрет клиента на Aspose Cloud Dashboard.
Обрезать изображение с помощью Java
Давайте подробно рассмотрим, как мы можем загрузить существующее изображение и обрезать изображение онлайн. Сначала мы обрежем PNG/croppng и сохраним обновленное изображение в том же формате. PNG будет загружен с локального диска, фото обрезано онлайн, а результат сохранен в облачном хранилище. Если мы не укажем имя выходного файла, ответ будет содержать потоковое изображение.
- Во-первых, нам нужно создать экземпляр ImagingApi на основе персонализированных учетных данных клиента.
- Во-вторых, прочитайте локальную папку из файла PNG с помощью объекта File.
- Создайте экземпляр byte[] и прочитайте все байты из файла, используя метод readAllBytes(…)
- Теперь укажите размеры и координаты X, Y относительно точки, чтобы начать операцию обрезки.
- Впоследствии создайте экземпляр CreateCroppedImageRequest, для которого требуются все вышеуказанные параметры и имя результирующего изображения.
- Наконец, обрежьте изображение с помощью метода createCroppedImage(…)
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
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 = 350;
int newHeight = 350;
// указать точку, с которой будет начинаться кадрирование изображения
int x = 100;
int y = 100;
// создать запрос изображения обрезки, указав имя результирующего изображения
CreateCroppedImageRequest cropRequest = new CreateCroppedImageRequest(bytes, x,y, newWidth, newHeight, null, "Cropped.png", null);
// метод вызова для обрезки PNG и сохранения вывода в облачном хранилище
imageApi.createCroppedImage(cropRequest);
Обрезать фото с помощью команд cURL
Поскольку наши API-интерфейсы разработаны на основе архитектуры REST, мы предоставляем две возможности гибкости: получение унифицированного интерфейса даже при вызове API-интерфейсов на любой платформе и доступ к API-интерфейсам с помощью команд cURL. Теперь, чтобы получить доступ к API с помощью команд 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"
После создания токена JWT вызовите CropImage API, чтобы обрезать фотографию, загруженную из облачного хранилища, в формате PNG. Теперь, чтобы сохранить обрезанное изображение в формате JPG, мы указываем значение JPG в параметре формата. Результирующее изображение обрезки возвращается в ответном потоке.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/crop?x=50&y=50&width=200&height=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
-o "cropped.jpg"
Вывод
К концу этой статьи мы узнали, как обрезать фотографию с помощью фрагмента кода Java. В то же время мы также изучили возможность обрезки изображения онлайн с помощью команд cURL. Помимо операции обрезки изображения, вы можете изучить Документацию по продукту, чтобы узнать о других интересных функциях, предлагаемых API. Прежде чем приступить к работе с фрагментом кода, вы можете изучить функции API в браузере с помощью Справочник по API swagger.
Тем не менее, мы предоставляем нашим пользователям полную гибкость, позволяя им загружать полный исходный код API обработки изображений с GitHub (он опубликован под лицензией MIT). Если вы обнаружите какие-либо проблемы при использовании API, вы можете обратиться к нам за быстрым решением через бесплатный форум поддержки продукта.
Статьи по Теме
Пожалуйста, перейдите по следующим ссылкам, чтобы узнать больше о: