foto duplicat

Găsiți imagini duplicate folosind Java Cloud SDK

Imaginea JPG este un format popular pentru imprimare și editare. În plus, este un format de imagine popular pentru partajarea fotografiilor și a altor imagini pe internet și între utilizatorii de mobil și computer. Dimensiunea mică a fișierului imaginilor JPG permite stocarea a mii de imagini într-un spațiu mic de memorie. Acum, deoarece compresia este cu pierderi, înseamnă că anumite informații inutile sunt șterse definitiv. Pe de altă parte, cel mai mare avantaj al PNG față de JPEG este că compresia este fără pierderi, ceea ce înseamnă că nu există nicio pierdere de calitate de fiecare dată când este deschisă și salvată din nou. PNG gestionează bine și imaginile detaliate, cu contrast ridicat. Acum, în acest articol, vom discuta detaliile despre cum să convertiți JPG în PNG folosind Java Cloud SDK

Image Conversion API

API-ul nostru bazat pe REST oferă capabilitățile de a crea, edita și transforma fișiere imagine într-o varietate de formate de fișiere acceptate. Acum, pentru a implementa caracteristica de încărcare și conversie jpg în png transparent în aplicația Java, trebuie să folosim Aspose.Imaging Cloud SDK for Java deoarece este un înveliș în jurul API-ului Cloud. Deci, următorul pas este să adăugați referința sa în proiectul java prin includerea următoarelor informații în pom.xml ale proiectului de tip build 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>

Odată ce referința JDK a fost adăugată în proiect, următorul pas important este să creați un cont gratuit pe Aspose Cloud Dashboard. Pur și simplu înregistrați-vă pentru o perioadă de încercare gratuită printr-o adresă de e-mail validă. Acum autentificați-vă utilizând contul nou creat și căutați/creați ID-ul clientului și Secretul clientului la Cloud Dashboard. Aceste detalii sunt necesare în scopuri de autentificare în secțiunile următoare.

Convertiți JPG în PNG în Java

Acum să discutăm detaliile despre cum putem converti JPG în PNG folosind fragmentul de cod Java. Pentru a efectua conversia, avem două API-uri pentru a converti o imagine într-un alt format:

GET API se așteaptă să încărcăm mai întâi o imagine în Cloud Storage, apoi să îi transmitem numele în adresa URL a API. După actualizarea parametrilor imaginii, API-ul returnează imaginea actualizată în răspuns. Dacă doriți să salvați imaginea actualizată pe Cloud Storage, trebuie să faceți acest lucru în mod explicit, așa cum se arată în exemplele de mai jos.

Pe de altă parte, atunci când apelați al doilea API POST, puteți trece direct imaginea în corpul solicitării. De asemenea, vă permite să salvați imaginea actualizată în Cloud Storage prin specificarea valorii parametrului outPath. Cu toate acestea, dacă nu specificați valoarea, răspunsul conține o imagine transmisă în flux.

  • Creați o instanță de ImagingApi pe baza acreditărilor dvs. personalizate de client
  • Citiți toate fișierele JPG din folderul local folosind obiectul Fișier[].
  • Iterați prin fișierele din matrice și ajungeți la conținutul imaginii individuale în instanța byte[].
  • Acum creați un obiect CreateConvertedImageRequest unde specificăm formatul imaginii de ieșire ca PNG
  • Apelați metoda createConvertedImage (…) care salvează JPG ca PNG și returnează rezultatul ca flux de răspuns
  • În cele din urmă, salvați fișierul PNG pe unitatea locală folosind obiectul FileOutputStream
// Obțineți ClientID și ClientSecret de pe https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// creați obiectul Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Obțineți toate fișierele din folder
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Setați aici extensiile de imagine necesare.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Listă filtrată de fișiere imagine JPG
List<File> acceptedImages = new ArrayList<>();

// Repetați fiecare fișier imagine citit din folderul local			 
for (File file : allFiles) {
    //Analizați extensia fișierului
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Verificați dacă extensia este listată în suportedImageExtensions
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Adăugați imaginea în lista filtrată
	acceptedImages.add(file);
                  
    // citiți conținutul imaginii JPG
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // creați cererea de conversie a imaginii cu formatul rezultat ca PNG
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // convertiți JPG în PNG și returnați fișierul rezultat în fluxul de răspuns
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // Salvați imaginea exportată în spațiul de stocare local
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Schimbați JPG în PNG folosind comenzile cURL

Deoarece putem accesa API-urile REST folosind comenzi cURL, în această secțiune, explorăm detaliile pentru a converti JPG în PNG transparent. Acum, ca o cerință prealabilă, trebuie să generăm mai întâi un token de acces JWT (pe baza acreditărilor clientului) în timp ce executăm următoarea comandă.

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"

Acum vom folosi apelul ConvertImage API, se așteaptă ca JPG-ul de intrare să fie deja disponibil în stocarea în cloud. Acum, vă rugăm să executați următoarea comandă pentru a schimba JPG în 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

Concluzie

Acest articol a oferit câteva detalii uimitoare despre cum putem converti JPG în PNG folosind fragmentul de cod Java. În mod similar, am discutat și pașii pentru a converti JPG în PNG transparent folosind comenzile cURL. Rețineți că Documentația produsului este un loc uimitor pentru a afla despre alte funcții interesante oferite de API. În cazul în care trebuie să încercați aceste API-uri în browser, vă rugăm să încercați să utilizați swagger API Reference.

Penultimul, rețineți că toate SDK-urile noastre Cloud sunt publicate sub licență MIT, așa că vă recomandăm să descărcați codul sursă complet de pe GitHub și să îl modificați conform cerințelor dvs. În cele din urmă, dacă întâmpinați probleme în timpul utilizării API-ului, vă recomandăm să ne contactați pentru o rezolvare rapidă prin intermediul forumul de asistență pentru produse.

Articole similare

Vă rugăm să vizitați următoarele link-uri pentru a afla mai multe despre: