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

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

Одной из выдающихся особенностей файлов TIFF является возможность хранить несколько изображений (каждое из которых имеет несколько каналов) в виде последовательных кадров во временном стеке или z-стеке изображений. Теперь в этой статье мы собираемся объяснить шаги по извлечению кадра TIFF, изменению его размера и отдельному сохранению в хранилище. Онлайн-операция изменения размера изображения обслуживает новые размеры (ширину и высоту) при сохранении обновленного кадра TIFF.

API изменения размера изображения

Aspose.Imaging Cloud SDK для Java — это наше решение на основе REST, позволяющее программно редактировать, манипулировать и преобразовывать растровые изображения, метафайлы и Photoshop в различные поддерживаемые форматы. Он также предлагает функцию управления изображениями TIFF, где мы можем даже работать с отдельными кадрами TIFF. Теперь, чтобы начать использовать SDK, нам нужно добавить ссылку на него в проект 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, создайте бесплатную учетную запись, используя действующий адрес электронной почты.

Изменить размер изображения онлайн в Java

В этом разделе мы собираемся использовать API GetImageFrame для разработки нашего средства изменения размера изображения TIFF. Мы также загрузим изображение в облачное хранилище, и после обновления параметров изображения измененное изображение будет возвращено в ответном потоке. Обратите внимание, что API позволяет массово изменять размер фотографий или изменять размер только определенного кадра TIFF с помощью параметра saveOtherFrames.

  • Во-первых, создайте объект ImagingApi, используя персонализированные учетные данные клиента.
  • Во-вторых, прочитайте содержимое первого изображения TIFF с помощью метода readAllBytes(…) и верните его в массив byte[]
  • В-третьих, создайте экземпляр класса UploadFileRequest, в который мы передаем имя изображения TIFF.
  • Теперь загрузите первое изображение TIFF в облачное хранилище, используя метод uploadFile(…)
  • Следующим шагом является указание индекса кадра TIFF, новых размеров высоты и ширины и конкретного индекса кадра TIFF.
  • Теперь создайте объект GetImageFrameRequest, куда мы передаем входное имя изображения TIFF и определенные выше свойства.
  • Вызовите метод getImageFrame(…) класса ImagingAPI, чтобы получить указанный кадр TIFF.
  • Наконец, сохраните извлеченный кадр на локальный диск с помощью объекта FileOutputStream.
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// создать объект изображения
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// загрузить первое изображение TIFF из локальной системы
File file1 = new File("TiffSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// создать объект запроса загрузки файла
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// загрузить первое изображение TIFF в облачное хранилище
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// новая ширина и высота извлеченного кадра
Integer newWidth = 400;
Integer newHeight = 600;

// В результате будет включен только указанный кадр, а не другие кадры.
Boolean saveOtherFrames = false;

// Создайте объект запроса для извлечения TIFF-кадров на основе указанных сведений.
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    null, null, null, null, null, saveOtherFrames, null, null);

// извлеченный кадр возвращается в потоке ответа
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Сохраните извлеченный кадр TIFF в локальном хранилище
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
изменить размер TIFF кадра

Изменение размера предварительного просмотра кадра TIFF

Образцы изображений TIFF, используемые в приведенном выше примере, можно загрузить с TiffSampleImage.tiff.

Уменьшите размер изображения с помощью команд cURL

Благодаря REST-архитектуре API к нему также можно получить доступ с помощью команд cURL. Итак, в этом разделе мы собираемся обсудить детали того, как уменьшить размер изображения или извлечь TIFF-кадр с определенными размерами, используя команды 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 нам нужно выполнить следующую команду, чтобы изменить размер кадра TIFF.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.tiff/frames/0?newWidth=400&newHeight=600&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"
-o ResizedFrame.tiff

Заключение

В этой статье представлены простые, но удивительные сведения о том, как изменить размер изображения (TIFF) с помощью Java. В этом руководстве также объясняются все шаги по изменению размера кадра TIFF с помощью команд cURL. Обратите внимание, что еще один способ протестировать возможности API — через SwaggerUI в веб-браузере. Кроме того, если вы хотите изменить исходный код SDK, его можно загрузить с GitHub, так как он опубликован под лицензией MIT.

Тем не менее, Документация по продукту — прекрасный источник информации, позволяющий узнать все необходимые подробности о других интересных функциях API. Наконец, если у вас возникнут проблемы при использовании API, вы можете обратиться к нам за быстрым решением через бесплатный форум поддержки продукта.

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

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