изменить размер изображения

Изменение размера изображения с помощью Java Cloud SDK

Наша личная и официальная жизнь наполнена растровыми изображениями. При использовании мобильных телефонов, сканеров, устройств обработки изображений и различных других камер, используемых в различных устройствах, мы производим огромное количество данных в виде изображений. Теперь, в зависимости от алгоритма сжатия, каждое устройство создает изображения разных размеров и размеров. Но если у нас есть требование хранить изображения (JPG, PNG, GIF, TIFF и т. д.) в унифицированных размерах, нам нужно изменять размер изображений. У нас есть множество приложений для изменения размера фотографий, доступных на рынке, но в случае, если нам нужно изменить размер изображения в Интернете массово, программное решение всегда является жизнеспособным подходом. Поэтому в этой статье мы собираемся обсудить детали/шаги о том, как разработать средство изменения размера изображения с помощью Java Cloud SDK.

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>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>

Если у вас нет учетной записи на 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

Исходное GIF-изображение можно загрузить с winter.gif, а результирующее изображение с resultant.jpg.

Заключение

Мы узнали об удивительном подходе к изменению размера изображения онлайн с помощью фрагмента кода Java. Это также помогло нам узнать, как изменить размер изображения без потери качества с помощью команд cURL. Обратите внимание, что вы также можете изучить возможности API в веб-браузере, используя справочник API swagger. Теперь, помимо возможностей Picture Resizer, вы можете изучить и узнать о других интересных функциях API из Документации по продукту. Тем не менее, все наши Cloud SDK публикуются под лицензией MIT, поэтому вы можете загрузить полный исходный код с GitHub (который вы можете изменить в соответствии со своими требованиями). Наконец, если вы обнаружите какие-либо проблемы при использовании API, вы можете обратиться к нам за быстрым решением через бесплатный форум поддержки продукта.

Статьи по Теме

Пожалуйста, перейдите по следующим ссылкам, чтобы узнать больше о: