L’image JPG est un format populaire à des fins d’impression et d’édition. De plus, c’est un format d’image populaire pour le partage de photos et d’autres images sur Internet et entre les utilisateurs mobiles et PC. La petite taille de fichier des images JPG permet de stocker des milliers d’images dans un petit espace mémoire. Maintenant, comme la compression est avec perte, cela signifie que certaines informations inutiles sont définitivement supprimées. D’un autre côté, le plus grand avantage de PNG par rapport à JPEG est que la compression est sans perte, ce qui signifie qu’il n’y a pas de perte de qualité à chaque fois qu’il est ouvert et enregistré à nouveau. PNG gère également bien les images détaillées et à contraste élevé. Maintenant, dans cet article, nous allons discuter des détails sur la façon de convertir JPG en PNG à l’aide de Java Cloud SDK.
- API de conversion d’images
- Convertir JPG en PNG en Java
- Changer JPG en PNG à l’aide des commandes cURL
API de conversion d’images
Notre API basée sur REST offre la possibilité de créer, d’éditer et de transformer des fichiers image dans une variété de formats de fichiers pris en charge. Maintenant, pour implémenter la fonctionnalité de chargement et de conversion de jpg en png transparent dans l’application Java, nous devons utiliser Aspose.Imaging Cloud SDK for Java car il s’agit d’un wrapper autour de l’API Cloud. L’étape suivante consiste donc à ajouter sa référence dans le projet Java en incluant les informations suivantes dans pom.xml du projet de type de construction 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>
Une fois la référence JDK ajoutée au projet, la prochaine étape importante consiste à créer un compte gratuit sur Aspose Cloud Dashboard. Inscrivez-vous simplement pour un essai gratuit via une adresse e-mail valide. Connectez-vous maintenant à l’aide du compte nouvellement créé et recherchez/créez l’ID client et le secret client sur Cloud Dashboard. Ces informations sont requises à des fins d’authentification dans les sections suivantes.
Convertir JPG en PNG en Java
Maintenant, discutons des détails sur la façon dont nous pouvons convertir JPG en PNG en utilisant un extrait de code Java. Afin d’effectuer la conversion, nous avons deux API pour convertir une image dans un autre format :
L’API GET s’attend à ce que nous importions d’abord une image dans Cloud Storage, puis à transmettre son nom dans l’URL de l’API. Après la mise à jour des paramètres d’image, l’API renvoie l’image mise à jour dans la réponse. Si vous souhaitez enregistrer l’image mise à jour sur le Cloud Storage, vous devez explicitement le faire comme indiqué dans les exemples ci-dessous.
En revanche, lors de l’appel de la deuxième API POST, vous pouvez directement passer l’image dans le corps de la requête. Il vous permet également d’enregistrer l’image mise à jour sur le Cloud Storage en spécifiant la valeur du paramètre outPath. Toutefois, si vous ne spécifiez pas la valeur, la réponse contient une image diffusée en continu.
- Créez une instance d’ImagingApi en fonction de vos informations d’identification client personnalisées
- Lire tous les fichiers JPG du dossier local à l’aide de l’objet File[]
- Itérer à travers les fichiers dans le tableau et atteindre le contenu de l’image individuelle dans l’instance byte[]
- Créez maintenant un objet de CreateConvertedImageRequest où nous spécifions le format d’image de sortie au format PNG
- Appelez la méthode createConvertedImage(…) qui enregistre le JPG au format PNG et renvoie le résultat sous forme de flux de réponse
- Enfin, enregistrez le fichier PNG sur le lecteur local à l’aide de l’objet FileOutputStream
// Obtenez ClientID et ClientSecret à partir de https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// créer un objet d'imagerie
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
File directory = new File("/Users/");
//Obtenez tous les fichiers du dossier
File[] allFiles = directory.listFiles();
if (allFiles == null || allFiles.length == 0) {
throw new RuntimeException("No files present in the directory: " + directory.getAbsolutePath());
}
//Définissez ici les extensions d'image requises.
List<String> supportedImageExtensions = Arrays.asList("jpg","jpeg");
int counter =0;
//Liste filtrée des fichiers image JPG
List<File> acceptedImages = new ArrayList<>();
// Parcourez chaque fichier image lu à partir du dossier local
for (File file : allFiles) {
//Analyser l'extension de fichier
String fileExtension = file.getName().substring(file.getName().lastIndexOf(".") + 1);
//Vérifiez si l'extension est répertoriée dans les extensions d'image prises en charge
if (supportedImageExtensions.stream().anyMatch(fileExtension::equalsIgnoreCase)) {
//Ajouter l'image à la liste filtrée
acceptedImages.add(file);
// lire le contenu de l'image JPG
byte[] bytes = Files.readAllBytes(acceptedImages.get(counter).toPath());
// créer une demande de conversion d'image avec le format résultant au format PNG
CreateConvertedImageRequest request = new CreateConvertedImageRequest(bytes, "PNG", null, null);
// convertir JPG en PNG et renvoyer le fichier résultant dans le flux de réponse
byte[] exportedImage = imageApi.createConvertedImage(request);
// Enregistrer l'image exportée dans le stockage local
FileOutputStream fos = new FileOutputStream(directory + "/"+file.getName().replaceFirst("[.][^.]+$", "")+".png");
fos.write(exportedImage);
fos.close();
}
}
Changer JPG en PNG à l’aide des commandes cURL
Comme nous pouvons accéder aux API REST à l’aide des commandes cURL, dans cette section, nous explorons les détails pour convertir JPG en PNG transparent. Maintenant, comme condition préalable, nous devons d’abord générer un jeton d’accès JWT (basé sur les informations d’identification du client) lors de l’exécution de la commande suivante.
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"
Maintenant, nous allons utiliser l’appel API ConvertImage, il s’attend à ce que l’entrée JPG soit déjà disponible dans le stockage en nuage. Maintenant, veuillez exécuter la commande suivante pour changer JPG en 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
Conclusion
Cet article a fourni des détails étonnants sur la façon dont nous pouvons convertir JPG en PNG à l’aide d’un extrait de code Java. De même, nous avons également discuté des étapes pour convertir JPG en PNG transparent à l’aide des commandes cURL. Veuillez noter que la Documentation du produit est un endroit incroyable pour en savoir plus sur les autres fonctionnalités intéressantes offertes par l’API. Si vous avez besoin d’essayer ces API dans un navigateur, veuillez essayer d’utiliser la référence de l’API swagger.
Avant-dernier, veuillez noter que tous nos SDK Cloud sont publiés sous licence MIT, vous pouvez donc envisager de télécharger le code source complet à partir de GitHub et de le modifier selon vos besoins. Enfin, si vous rencontrez des problèmes lors de l’utilisation de l’API, vous pouvez envisager de nous contacter pour une résolution rapide via product support forum gratuit.
Articles Liés
Veuillez visiter les liens suivants pour en savoir plus sur :