jpg в webp

Преобразование jpg в webp на Java

В этом руководстве мы покажем вам, как использовать Java для преобразования форматов изображений JPG, PNG, JPEG и GIF в WebP. Этот процесс прост и понятен, и его можно легко интегрировать в существующее приложение Java. Если вам нужно преобразовать одно изображение или выполнить пакетную обработку нескольких изображений, наше руководство поможет с легкостью конвертировать JPG в WebP, PNG в WebP, JPEG в WebP и GIF в WebP.

Мы знаем, что изображения в формате JPEG легко сжимаются, достаточно портативны и совместимы практически со всеми устройствами. Кроме того, изображения в формате JPEG с высоким разрешением яркие и красочные. Точно так же сжатие в PNG происходит без потерь и подходит для детализированных высококонтрастных изображений. Тем не менее, формат WebP разработан Google и является популярным современным форматом изображений, обеспечивающим превосходное сжатие без потерь и с потерями для изображений в Интернете. Обычно он намного меньше (25–34%), чем JPG, PNG и т. д., поэтому веб-сайты загружаются быстрее. Теперь давайте подробно рассмотрим, как конвертировать JPG в WebP на Java.

JPG в WebP REST API

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

После добавления ссылки на REST API в проект Java получите учетные данные клиента на Cloud Dashboard. В противном случае вам необходимо сначала зарегистрировать бесплатную учетную запись, используя действующий адрес электронной почты.

Конвертировать JPG в WebP на Java

В этом разделе мы собираемся обсудить все детали, связанные с преобразованием JPG в WebP с использованием фрагмента кода Java.

  • Во-первых, создайте объект ImagingApi, используя персонализированные учетные данные.
  • Во-вторых, загрузите изображение JPG с помощью метода readAllBytes(…) и передайте возвращаемое значение в массив byte[]
  • В-третьих, создайте экземпляр UploadFileRequest, предоставив изображение JPEG в качестве аргумента, и загрузите его в облачное хранилище с помощью метода uploadFile(…)
  • Теперь создайте объект ConvertImageRequest, который принимает имя изображения JPEG и формат «webp» в качестве аргументов.
  • Вызовите метод convertImage(…) для преобразования JPG в WebP. Вывод затем возвращается как поток ответа
  • Наконец, сохраните полученный WebP на локальный диск, используя объект FileOutputStream.
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";

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

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

// указать выходной формат как WebP
String format = "webp";

// Создать объект запроса преобразования изображения
ConvertImageRequest convertImage = new ConvertImageRequest("input.jpg", format, null, null);
// конвертировать JPG в WebP и возвращать вывод в поток ответа
byte[] resultantImage = imageApi.convertImage(convertImage);

// Сохраните полученный WebP на локальный диск
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
jpg в webp

Изображение: предварительный просмотр преобразования JPG в WebP

PNG в WebP на Java

Давайте обсудим детали того, как мы можем выполнить преобразование PNG в WebP без использования облачного хранилища. Исходное изображение загружается с локального диска, и после преобразования результирующий файл также сохраняется на локальном жестком диске.

  • Сначала создайте объект ImagingApi, используя персонализированные учетные данные.
  • Во-вторых, загрузите изображение PNG с помощью метода readAllBytes(…) и перейдите в массив byte[]
  • В-третьих, создайте объект CreateConvertedImageRequest, который принимает имя изображения PNG и формат webp в качестве аргументов.
  • Теперь вызовите метод createConvertedImage(…) для преобразования PNG в WebP. Вывод возвращается как поток ответа
  • Наконец, сохраните полученный WenP на локальный диск, используя объект FileOutputStream.
// Получите ClientID и ClientSecret с https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";

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

// загрузить изображение PNG с локального диска
File file1 = new File("source.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// указать выходной формат как WebP
String format = "webp";

// Создать объект запроса преобразования изображения
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// конвертировать PNG в WebP и возвращать вывод в потоке ответов
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);

// Сохраните полученный WebP на локальный диск
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();

Примечание. Чтобы сохранить полученный файл WebP в облачном хранилище, передайте сведения о пути WebP при создании объекта CreateConvertedImageRequest. При таком подходе последний шаг по сохранению выходного потока на локальный диск будет пропущен.

GIF в WebP с помощью команд cURL

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

curl -X -v GET "https://api.aspose.cloud/v3.0/imaging/UpdateGIFSampleImage.gif/convert?format=webp" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT>" \
-o "output.webp"

Заключение

В статье представлены все необходимые сведения о преобразовании JPG в WebP, PNG в WebP и GIF в WebP с использованием Java. В то же время мы также изучили шаги по преобразованию GIF в WebP с помощью команд cURL. Имейте в виду, что мы настоятельно рекомендуем вам изучить Документацию по продукту, которая является прекрасным источником информации. Он расскажет вам о других интересных функциях, которые в настоящее время предлагает REST API.

Кроме того, вы также можете рассмотреть возможность тестирования функций API через SwaggerUI (в веб-браузере), а если вам нужно загрузить и изменить исходный код, к нему можно получить доступ с GitHub (опубликовано по лицензии MIT). Наконец, если у вас возникнут какие-либо проблемы при использовании API, не стесняйтесь обращаться к нам для быстрого решения через бесплатный форум поддержки продукта.

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

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