foto duplikat

Pronađite duplicirane slike pomoću Java Cloud SDK-a

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

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: