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

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

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

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

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

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

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

  • Во-первых, создайте объект ImagingApi на основе персонализированных учетных данных клиента.
  • Во-вторых, прочитайте содержимое первого изображения TIFF с помощью метода readAllBytes(…) и перейдите в массив byte[]
  • В-третьих, создайте экземпляр класса UploadFileRequest, в котором мы указываем имя TIFF в облачном хранилище.
  • Теперь загрузите первое изображение TIFF в облачное хранилище, используя метод uploadFile(…)
  • Укажите индекс кадра 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

Благодаря архитектуре API REST к нему также можно получить доступ с помощью команд 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 Cloud SDK. Мы узнали, как изменить размер кадра TIFF с помощью фрагмента кода Java, а также изучили возможность изменения размера изображения онлайн с помощью команд cURL. Вы также можете протестировать многообещающие функции API через SwaggerUI в веб-браузере. А если вы хотите изменить исходный код SDK, вы можете загрузить его с GitHub (все наши Cloud SDK разработаны под лицензией MIT).

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

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

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