V této příručce vám ukážeme, jak pomocí Javy převést obrázkové formáty JPG, PNG, JPEG a GIF na WebP. Proces je jednoduchý a přímočarý a lze jej snadno integrovat do vaší stávající Java aplikace. Ať už potřebujete převést jeden obrázek nebo hromadně zpracovat více obrázků, náš průvodce vám usnadní převod JPG na WebP, PNG na WebP, JPEG na WebP a GIF na WebP.
Víme, že obrázky JPEG jsou vysoce komprimovatelné, docela přenosné a kompatibilní s téměř všemi zařízeními. Také obrázky JPEG ve vysokém rozlišení jsou živé a barevné. Podobně je komprese v PNG bezeztrátová a je vhodná pro detailní, vysoce kontrastní obrázky. Formát WebP je však vyvinutý společností Google a je oblíbeným moderním formátem obrázků, který poskytuje vynikající bezztrátovou a ztrátovou kompresi obrázků na webu. Je obecně mnohem menší (25%-34%) než JPG, PNG atd., a proto se webové stránky načítají rychleji. Nyní se podívejme na podrobnosti o tom, jak převést JPG na WebP v Javě.
JPG na WebP REST API
Aspose.Imaging Cloud SDK pro Java je jedním z našich nejlepších řešení, které nabízí spolehlivé zpracování obrazu a možnosti konverze obrazu. Poskytněte možnosti zpracování obrazu (úpravy a transformace) ve své aplikaci Java pomocí jednoduchých řádků kódu. API je schopno zpracovávat rastrové obrázky, soubory Photoshopu, metasoubory a formát WebP. Nyní podle rozsahu tohoto článku jej použijeme k převodu jpg na webp v aplikaci Java. Nyní je prvním krokem přidání odkazu na API do našeho projektu Java zahrnutím následujících informací do pom.xml (projekt typu sestavení 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>
Jakmile bude reference REST API přidána do projektu Java, získejte přihlašovací údaje klienta z Cloud Dashboard. Jinak si musíte nejprve zaregistrovat bezplatný účet a používat platnou e-mailovou adresu.
Převést JPG na WebP v Javě
V této části probereme všechny podrobnosti související s převodem JPG na WebP pomocí fragmentu kódu Java.
- Nejprve vytvořte objekt ImagingApi pomocí personalizovaných přihlašovacích údajů
- Za druhé, načtěte obrázek JPG pomocí metody readAllBytes(…) a předejte vrácenou hodnotu do pole byte[]
- Za třetí, vytvořte instanci UploadFileRequest poskytnutím obrázku JPEG jako argumentu a nahrajte jej do cloudového úložiště pomocí metody uploadFile(…)
- Nyní vytvořte objekt ConvertImageRequest, který má jako argumenty název obrázku JPEG a formát ‘webp’
- Zavolejte metodu convertImage(…) k provedení převodu JPG na WebP. Výstup je pak vrácen jako tok odpovědí
- Nakonec uložte výsledný WebP na místní disk pomocí objektu FileOutputStream
// Získejte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// vytvořit Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// načíst vstupní obrázek JPEG z místního disku
File file1 = new File("butterfly-yellow.jpeg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// vytvořit objekt požadavku na nahrání souboru
UploadFileRequest uploadRequest = new UploadFileRequest("input.jpg",imageStream,null);
// nahrajte obrázek jpg do cloudového úložiště
imageApi.uploadFile(uploadRequest);
// zadejte výstupní formát jako WebP
String format = "webp";
// Vytvořit objekt požadavku na konverzi obrázku
ConvertImageRequest convertImage = new ConvertImageRequest("input.jpg", format, null, null);
// převést JPG na WebP a vrátit výstup v toku odpovědí
byte[] resultantImage = imageApi.convertImage(convertImage);
// Uložte výsledný WebP na místní disk
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
PNG na WebP v Javě
Pojďme diskutovat o podrobnostech, jak můžeme provést převod PNG na WebP bez použití cloudového úložiště. Zdrojový obraz se načte z místního disku a po převodu se výsledný soubor uloží také na místní pevný disk.
- Nejprve vytvořte objekt ImagingApi pomocí personalizovaných přihlašovacích údajů
- Za druhé, načtěte obrázek PNG pomocí metody readAllBytes(…) a předejte jej do pole byte[]
- Za třetí vytvořte objekt CreateConvertedImageRequest, který jako argumenty převezme název obrázku PNG a formát webp.
- Nyní zavolejte metodu createConvertedImage(…) k provedení převodu PNG na WebP. Výstup je vrácen jako tok odpovědí
- Nakonec uložte výsledný WenP na místní disk pomocí objektu FileOutputStream
// Získejte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// vytvořit Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// načíst obrázek PNG z místního disku
File file1 = new File("source.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// zadejte výstupní formát jako WebP
String format = "webp";
// Vytvořit objekt požadavku na konverzi obrázku
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// převést PNG na WebP a vrátit výstup v toku odpovědí
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);
// Uložte výsledný WebP na místní disk
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
Poznámka:- Chcete-li uložit výsledný WebP do cloudového úložiště, předejte podrobnosti o cestě WebP při vytváření objektu CreateConvertedImageRequest. V tomto přístupu bude poslední krok pro uložení výstupního proudu na místní disk přeskočen.
GIF na WebP pomocí příkazů cURL
Kromě kódu Java lze k REST API přistupovat také pomocí příkazů cURL. V této části tedy provedeme převod GIF na WebP pomocí příkazů cURL. Nyní je nezbytným předpokladem vygenerování přístupového tokenu JWT (na základě přihlašovacích údajů klienta) pomocí následujícího příkazu.
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"
Po vygenerování JWT proveďte následující příkaz pro provedení převodu GIF na WebP a uložení výstupu na místní disk
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"
Závěr
Článek poskytuje všechny potřebné podrobnosti o převodu JPG na WebP, PNG na WebP a GIF na WebP pomocí Javy. Zároveň jsme se také naučili kroky k transformaci GIF na WebP pomocí příkazů cURL. Uvědomte si prosím, že vám důrazně doporučujeme prozkoumat Produktovou dokumentaci, která je úžasným zdrojem informací. Osvětlí vám další zajímavé funkce, které REST API aktuálně nabízí.
Kromě toho můžete také zvážit testování funkcí API prostřednictvím SwaggerUI (v rámci webového prohlížeče) a v případě, že potřebujete stáhnout a upravit zdrojový kód, lze jej získat z GitHub (je zveřejněn pod licencí MIT). A konečně, pokud při používání API narazíte na nějaké problémy, neváhejte nás kontaktovat pro rychlé vyřešení prostřednictvím bezplatného fóra podpory produktů.
Související články
Další informace naleznete na následujících odkazech: