foto duplicata

Trova immagini duplicate utilizzando Java Cloud SDK

L’immagine JPG è un formato popolare per scopi di stampa e modifica. Inoltre, è un formato di immagine popolare per la condivisione di foto e altre immagini su Internet e tra utenti di dispositivi mobili e PC. La piccola dimensione del file delle immagini JPG consente la memorizzazione di migliaia di immagini in uno spazio di memoria ridotto. Ora, poiché la compressione è con perdita, significa che alcune informazioni non necessarie vengono eliminate in modo permanente. D’altra parte, il più grande vantaggio di PNG rispetto a JPEG è che la compressione è senza perdita di dati, il che significa che non c’è perdita di qualità ogni volta che viene aperto e salvato di nuovo. PNG gestisce bene anche immagini dettagliate e ad alto contrasto. Ora in questo articolo, discuteremo i dettagli su come convertire JPG in PNG utilizzando Java Cloud SDK

API di conversione delle immagini

La nostra API basata su REST offre le funzionalità per creare, modificare e trasformare i file di immagine in una varietà di formati di file supportati. Ora, per implementare la funzione per caricare e convertire jpg in png trasparente nell’applicazione Java, dobbiamo utilizzare Aspose.Imaging Cloud SDK for Java in quanto è un wrapper per l’API Cloud. Quindi il passaggio successivo consiste nell’aggiungere il suo riferimento nel progetto java includendo le seguenti informazioni in pom.xml del progetto di tipo 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>

Una volta che il riferimento JDK è stato aggiunto nel progetto, il prossimo passo importante è creare un account gratuito su Aspose Cloud Dashboard. Basta registrarsi per una prova gratuita tramite un indirizzo email valido. Ora accedi utilizzando l’account appena creato e cerca/crea l’ID client e il segreto client su Cloud Dashboard. Questi dettagli sono richiesti per scopi di autenticazione nelle sezioni seguenti.

Converti JPG in PNG in Java

Ora discutiamo i dettagli su come possiamo convertire JPG in PNG usando lo snippet di codice Java. Per eseguire la conversione, abbiamo due API per convertire un’immagine in un altro formato:

L’API GET si aspetta che carichiamo prima un’immagine su Cloud Storage, quindi passiamo il suo nome nell’URL dell’API. Dopo aver aggiornato i parametri dell’immagine, l’API restituisce l’immagine aggiornata nella risposta. Se desideri salvare l’immagine aggiornata su Cloud Storage, devi farlo esplicitamente come mostrato negli esempi seguenti.

D’altra parte, quando si chiama la seconda API POST, è possibile passare direttamente l’immagine nel corpo della richiesta. Consente inoltre di salvare l’immagine aggiornata su Cloud Storage specificando il valore del parametro outPath. Tuttavia, se non si specifica il valore, la risposta contiene un’immagine in streaming.

  • Crea un’istanza di ImagingApi in base alle tue credenziali client personalizzate
  • Leggi tutti i file JPG dalla cartella locale utilizzando l’oggetto File[].
  • Scorri i file nell’array e raggiungi il contenuto della singola immagine nell’istanza byte[].
  • Ora crea un oggetto di CreateConvertedImageRequest in cui specifichiamo il formato dell’immagine di output come PNG
  • Chiama il metodo createConvertedImage(…) che salva JPG come PNG e restituisce il risultato come flusso di risposta
  • Infine salva il file PNG sull’unità locale utilizzando l’oggetto FileOutputStream
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// creare un oggetto Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

File directory = new File("/Users/");
//Ottieni tutti i file dalla cartella
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
    throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}

//Imposta qui le estensioni immagine richieste.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");

int counter =0;
//Elenco filtrato di file immagine JPG
List<File> acceptedImages = new ArrayList<>();

// Scorri ogni file immagine letto dalla cartella locale			 
for (File file : allFiles) {
    //Analizza l'estensione del file
    String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
	
    //Controlla se l'estensione è elencata in supportedImageExtensions
    if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
	//Aggiungi l'immagine all'elenco filtrato
	acceptedImages.add(file);
                  
    // leggere il contenuto dell'immagine JPG
    byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
    
    // crea una richiesta di conversione dell'immagine con il formato risultante come PNG
    CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
    
    // convertire JPG in PNG e restituire il file risultante nel flusso di risposta
    byte[] exportedImage = imageApi.createConvertedImage(request);
    
    // Salva l'immagine esportata nella memoria locale
    FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
    fos.write(exportedImage);
    fos.close();
    }
}

Cambia JPG in PNG usando i comandi cURL

Poiché possiamo accedere alle API REST utilizzando i comandi cURL, quindi in questa sezione esploreremo i dettagli per convertire JPG in PNG trasparenti. Ora, come prerequisito, dobbiamo prima generare un token di accesso JWT (basato sulle credenziali del client) durante l’esecuzione del seguente comando.

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"

Ora useremo la chiamata API ConvertImage, si aspetta che l’input JPG sia già disponibile nel cloud storage. Ora esegui il seguente comando per cambiare JPG in 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

Conclusione

Questo articolo ha fornito alcuni dettagli sorprendenti su come convertire JPG in PNG utilizzando lo snippet di codice Java. Allo stesso modo, abbiamo anche discusso i passaggi per convertire JPG in PNG trasparente utilizzando i comandi cURL. Tieni presente che la Documentazione del prodotto è un posto fantastico per conoscere altre interessanti funzionalità offerte dall’API. Se hai bisogno di provare queste API all’interno del browser, prova a utilizzare Swagger API Reference.

Penultimo, tieni presente che tutti i nostri Cloud SDK sono pubblicati con licenza MIT, quindi potresti considerare di scaricare il codice sorgente completo da GitHub e modificarlo in base alle tue esigenze. Infine, se riscontri problemi durante l’utilizzo dell’API, puoi considerare di contattarci per una rapida risoluzione tramite il forum di supporto del prodotto gratuito.

articoli Correlati

Si prega di visitare i seguenti link per saperne di più su: