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

Після додавання посилання на API REST у проект 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, будь ласка, зв’яжіться з нами, щоб швидко їх вирішити через безкоштовний форум підтримки продуктів.

Схожі статті

Перейдіть за наведеними нижче посиланнями, щоб дізнатися більше про: