В этом руководстве мы покажем вам, как использовать 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
- Конвертировать JPG в WebP на Java
- PNG в WebP на Java
- GIF в WebP с помощью команд cURL
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>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>
После добавления ссылки на 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();
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, не стесняйтесь обращаться к нам для быстрого решения через бесплатный форум поддержки продукта.
Статьи по Теме
Пожалуйста, перейдите по следующим ссылкам, чтобы узнать больше о: