Наша личная и официальная жизнь наполнена растровыми изображениями. При использовании мобильных телефонов, сканеров, устройств обработки изображений и различных других камер, используемых в различных устройствах, мы производим огромное количество данных в виде изображений. Теперь, в зависимости от алгоритма сжатия, каждое устройство создает изображения разных размеров и размеров. Но если у нас есть требование хранить изображения (JPG, PNG, GIF, TIFF и т. д.) в унифицированных размерах, нам нужно изменять размер изображений. У нас есть множество приложений для изменения размера фотографий, доступных на рынке, но в случае, если нам нужно изменить размер изображения в Интернете массово, программное решение всегда является жизнеспособным подходом. Поэтому в этой статье мы собираемся обсудить детали/шаги о том, как разработать средство изменения размера изображения с помощью Java Cloud SDK.
- API изменения размера изображения
- Изменить размер изображения в Java
- Изменение размера GIF с помощью команд cURL
API изменения размера изображения
Чтобы изменить размер изображения, мы будем использовать Aspose.Imaging Cloud SDK для Java. Благодаря архитектуре, основанной на REST, мы можем получить доступ к API на любой платформе и разработать программу для изменения размера фотографий. Помимо функции изменения размера изображения онлайн, он также позволяет создавать, редактировать и преобразовывать файлы изображений в различные поддерживаемые форматы файлов. Теперь, чтобы начать работу, нам нужно добавить его ссылку в проект 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, создайте бесплатную учетную запись, используя действующий адрес электронной почты. Теперь войдите в систему, используя только что созданную учетную запись, и найдите/создайте идентификатор клиента и секрет клиента на Cloud Dashboard. Эти данные необходимы для аутентификации в следующих разделах.
Изменить размер изображения в Java
В этом разделе объясняется, как изменить размер изображения PNG. API ожидает загрузки изображения с локального диска, который нам нужен для прямой передачи изображения в теле запроса. После операции изменения размера png мы можем сохранить обновленное изображение в облачном хранилище, указав значение параметра outPath. Однако, если мы не укажем значение, ответ будет содержать потоковое изображение.
- Создайте экземпляр ImagingApi на основе персонализированных учетных данных клиента.
- Чтение файла PNG из локальной папки с использованием объекта File
- Создайте экземпляр byte[] и прочитайте все байты из файла, используя метод readAllBytes(…)
- Укажите новые размеры изображения с помощью объектов Integer
- Теперь создайте экземпляр CreateResizedImageRequest, в котором мы указываем имя результирующего изображения.
- Наконец, измените размер изображения с помощью метода createResizedImage(…)
// Получите 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 = 150;
int newHeight = 150;
// создать запрос на изменение размера изображения, указав имя результирующего изображения
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);
// изменить размер изображения онлайн и сохранить результат в облачном хранилище
imageApi.createResizedImage(resizeRequest);
Изменение размера GIF с помощью команд cURL
Во время операции изменения размера изображения мы также можем указать обновленный формат изображения. Итак, в этом разделе мы собираемся изменить размер GIF и сохранить вывод в формате JPG с помощью команд 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 вызовите 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-изображение можно загрузить с winter.gif, а результирующее изображение с resultant.jpg.
Заключение
Мы узнали об удивительном подходе к изменению размера изображения онлайн с помощью фрагмента кода Java. Это также помогло нам узнать, как изменить размер изображения без потери качества с помощью команд cURL. Обратите внимание, что вы также можете изучить возможности API в веб-браузере, используя справочник API swagger. Теперь, помимо возможностей Picture Resizer, вы можете изучить и узнать о других интересных функциях API из Документации по продукту. Тем не менее, все наши Cloud SDK публикуются под лицензией MIT, поэтому вы можете загрузить полный исходный код с GitHub (который вы можете изменить в соответствии со своими требованиями). Наконец, если вы обнаружите какие-либо проблемы при использовании API, вы можете обратиться к нам за быстрым решением через бесплатный форум поддержки продукта.
Статьи по Теме
Пожалуйста, перейдите по следующим ссылкам, чтобы узнать больше о: