JPG slika je popularan format za ispis i uređivanje. Nadalje, to je popularan slikovni format za dijeljenje fotografija i drugih slika na internetu i između korisnika mobitela i računala. Mala veličina datoteke JPG slika omogućuje pohranjivanje tisuća slika u malom memorijskom prostoru. Budući da je kompresija s gubitkom, to znači da se određene nepotrebne informacije trajno brišu. S druge strane, najveća prednost PNG u odnosu na JPEG je to što je kompresija bez gubitaka, što znači da nema gubitka kvalitete svaki put kada se otvori i ponovno spremi. PNG također dobro obrađuje detaljne slike visokog kontrasta. Sada ćemo u ovom članku raspravljati o pojedinostima o tome kako pretvoriti JPG u PNG pomoću Java Cloud SDK-a
API za pretvorbu slika
Naš API temeljen na REST-u nudi mogućnosti stvaranja, uređivanja i transformacije slikovnih datoteka u razne podržane formate datoteka. Da bismo implementirali značajku za učitavanje i pretvaranje jpg u png transparent u Java aplikaciji, moramo koristiti Aspose.Imaging Cloud SDK za Javu jer je to omotač oko Cloud API-ja. Dakle, sljedeći korak je dodavanje njegove reference u java projekt uključivanjem sljedećih informacija u pom.xml projekta maven build type.
<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>
Nakon što je JDK referenca dodana u projekt, sljedeći važan korak je stvaranje besplatnog računa preko Aspose Cloud Dashboard. Jednostavno se prijavite za besplatnu probnu verziju putem važeće adrese e-pošte. Sada se prijavite pomoću novostvorenog računa i potražite/izradite ID klijenta i tajnu klijenta na Cloud Dashboard. Ovi detalji su potrebni za provjeru autentičnosti u sljedećim odjeljcima.
Pretvorite JPG u PNG u Javi
Raspravljajmo sada o pojedinostima o tome kako možemo pretvoriti JPG u PNG pomoću isječka Java koda. Kako bismo izvršili pretvorbu, imamo dva API-ja za pretvorbu slike u drugi format:
GET API očekuje da prvo prenesemo sliku u Cloud Storage, a zatim proslijedimo njezin naziv u API URL-u. Nakon ažuriranja parametara slike, API vraća ažuriranu sliku u odgovoru. Ako želite spremiti ažuriranu sliku na Cloud Storage, morate to izričito učiniti kao što je prikazano u primjerima u nastavku.
S druge strane, kada pozivate drugi POST API, možete izravno proslijediti sliku u tijelu zahtjeva. Također vam omogućuje spremanje ažurirane slike na Cloud Storage određivanjem vrijednosti parametra outPath. Međutim, ako ne navedete vrijednost, odgovor sadrži strujanu sliku.
- Stvorite instancu ImagingApi na temelju vaših personaliziranih vjerodajnica klijenta
- Čitajte sve JPG datoteke iz lokalne mape koristeći File[] objekt
- Iterirajte kroz datoteke u nizu i dosegnite sadržaj pojedinačne slike u instanci byte[].
- Sada stvorite objekt CreateConvertedImageRequest gdje navodimo format izlazne slike kao PNG
- Pozovite metodu createConvertedImage(…) koja sprema JPG kao PNG i vraća rezultat kao tok odgovora
- Na kraju spremite PNG datoteku na lokalni pogon koristeći FileOutputStream objekt
// Dobijte ClientID i ClientSecret s https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// stvoriti Imaging object
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
File directory = new File("/Users/");
//Preuzmite sve datoteke iz mape
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}
//Ovdje postavite potrebna proširenja slike.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");
int counter =0;
//Filtrirani popis JPG slikovnih datoteka
List<File> acceptedImages = new ArrayList<>();
// Iterirajte kroz svaku slikovnu datoteku pročitanu iz lokalne mape
for (File file : allFiles) {
//Raščlanite ekstenziju datoteke
String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
//Provjerite je li proširenje navedeno u supportedImageExtensions
if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
//Dodajte sliku na filtrirani popis
acceptedImages.add(file);
// čitanje sadržaja JPG slike
byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
// stvoriti zahtjev za pretvorbu slike s rezultirajućim formatom kao PNG
CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
// pretvoriti JPG u PNG i vratiti rezultirajuću datoteku u toku odgovora
byte[] exportedImage = imageApi.createConvertedImage(request);
// Spremite izvezenu sliku u lokalnu pohranu
FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
fos.write(exportedImage);
fos.close();
}
}
Promijenite JPG u PNG pomoću cURL naredbi
Budući da REST API-jima možemo pristupiti pomoću cURL naredbi, u ovom odjeljku istražujemo pojedinosti za pretvaranje JPG-a u PNG transparentan. Sada kao preduvjet, prvo moramo generirati JWT pristupni token (na temelju vjerodajnica klijenta) dok izvršavamo sljedeću naredbu.
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"
Sada ćemo upotrijebiti ConvertImage API poziv, on očekuje da ulazni JPG već bude dostupan u pohrani u oblaku. Sada izvršite sljedeću naredbu da promijenite JPG u PNG.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/convert?format=PNG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
Zaključak
Ovaj članak pruža neke nevjerojatne pojedinosti o tome kako možemo pretvoriti JPG u PNG pomoću isječka Java koda. Slično tome, također smo raspravljali o koracima za pretvaranje JPG-a u transparentni PNG pomoću cURL naredbi. Imajte na umu da je Dokumentacija proizvoda jedno nevjerojatno mjesto za učenje o drugim uzbudljivim značajkama koje nudi API. U slučaju da trebate isprobati ove API-je unutar preglednika, pokušajte koristiti swagger API Reference.
Pretposljednji, imajte na umu da su svi naši Cloud SDK-ovi objavljeni pod MIT licencom, tako da možete razmisliti o preuzimanju kompletnog izvornog koda s GitHub i modificirati ga prema svojim zahtjevima. Na kraju, ako naiđete na bilo kakve probleme tijekom korištenja API-ja, razmislite o tome da nam se obratite za brzo rješenje putem besplatnog foruma za podršku proizvoda.
povezani članci
Posjetite sljedeće veze kako biste saznali više o: