Le format JPG/JPEG et le format Portable Network Graphics (PNG) sont deux formats d’image raster populaires utilisés sur Internet. Contrairement au format JPEG, qui repose sur la compression DCT, le format PNG utilise la compression LZW, identique à celle utilisée par les formats GIF et TIFF. Le plus grand avantage du format PNG par rapport au format JPEG est que la compression est sans perte, ce qui signifie qu’il n’y a aucune perte de qualité à chaque ouverture et enregistrement. Le format PNG gère également bien les images détaillées et à contraste élevé. Dans cet article, nous allons aborder les étapes à suivre pour convertir des images JPG au format PNG à l’aide de l’API REST .NET.
- API de traitement d’images
- Conversion de JPG en PNG en C#
- Commande cURL pour la conversion JPEG en PNG
API de traitement d’images
Aspose.Imaging Cloud est l’un de nos principaux produits pour le traitement des formats d’image. Il vous permet de recadrer, retourner, mettre à l’échelle, faire pivoter, rechercher, convertir et exporter des formats d’image existants vers Formats de fichiers pris en charge. L’architecture REST permet aux développeurs d’implémenter diverses capacités d’imagerie dans leurs solutions basées sur le cloud. Afin de faciliter davantage nos clients, nous avons développé Aspose.Imaging Cloud SDK for .NET sur la base de l’API REST Aspose.Imaging afin que vous puissiez bénéficier de toutes les manipulations d’images avancées dans vos applications C# .NET.
Installation
Pour utiliser le SDK, nous devons d’abord l’installer sur le système. Il est disponible en téléchargement sur NuGet et GitHub. Veuillez exécuter la commande suivante dans le terminal pour installer le SDK via NuGet :
nuget install Aspose.Imaging-Cloud
Ou exécutez la commande suivante dans le gestionnaire de packages NuGet :
PM> Install-Package Aspose.Imaging-Cloud
Approche de Visual Studio
Une autre approche est l’installation directement dans Visual Studio :
- Ouvrez l’explorateur de solutions.
- Développez le projet et cliquez avec le bouton droit sur le dossier Packages dans votre solution.
- Sélectionnez l’option Gérer les packages NuGet…
- Cliquez sur l’onglet Parcourir et recherchez « Aspose.Imaging-Cloud ».
- Cliquez sur la case à cocher en regard du package Aspose.Imaging-Cloud, sélectionnez la version appropriée dans l’onglet de droite et cliquez sur le bouton Ajouter un package.
Abonnement Aspose.Cloud
Toutes nos API ne sont accessibles qu’aux personnes autorisées afin de préserver l’intégrité et la confidentialité des données. De plus, les fichiers stockés dans le stockage cloud sont associés au compte souscrit sur tableau de bord Aspose.Cloud. Par conséquent, la première étape consiste à créer un compte d’abonnement gratuit en visitant tableau de bord Aspose.Cloud. Si vous avez un compte GitHub ou Google, inscrivez-vous simplement. Sinon, cliquez sur le bouton Créer un nouveau compte et fournissez les informations requises. Connectez-vous maintenant au tableau de bord à l’aide des informations d’identification et développez la section Applications du tableau de bord et faites défiler vers le bas jusqu’à la section Informations d’identification du client pour voir les détails de l’ID client et du secret client.
Conversion de JPG en PNG en C#
Veuillez suivre les étapes ci-dessous pour effectuer la conversion du format JPG en PNG dans l’application C# .NET.
- Créez un objet ImagingApi tout en transmettant les détails de l’ID client et du secret client comme arguments
- Deuxièmement, lisez l’image JPEG à partir du lecteur local et transmettez-la comme argument à l’objet UploadFileRequest
- Troisièmement, appelez la méthode UploadFile(…) de ImagingApi pour télécharger le fichier vers le stockage Cloud
- Créez maintenant une instance de la classe ConvertImageRequest qui prend le nom de l’image et le format de sortie résultant comme arguments
- Appelez ensuite la méthode ConvertImage(…) de la classe ImagingApi pour lancer l’opération de conversion
- Enfin, enregistrez la sortie du flux sur le lecteur local à l’aide de File.Create (la méthode personnalisée est partagée ci-dessous).
// Obtenez l'ID client à partir de https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// créer une instance de ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");
// chemin de l'image JPEG d'entrée
string imageFile = "jpg-to-png.jpeg";
// format du fichier de sortie
string format = "png";
// nom du fichier résultant
string resultantFile = "converted.png";
// charger le fichier à partir du lecteur local
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// Télécharger le document original sur le stockage cloud
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// Créer une demande d'image
var request = new ConvertImageRequest(imageFile, format, null, null);
// lancer l'opération de conversion
Stream updatedImage = imagingApi.ConvertImage(request);
// imprimer un message de réussite si la conversion réussit
if (request != null && request.Equals("OK"))
{
Console.WriteLine("JPG successfully converted to PNG !");
Console.ReadKey();
}
// appeler la méthode pour enregistrer la sortie sur le lecteur système
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// méthode personnalisée pour enregistrer l'objet Steam en tant qu'instance de fichier
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
Commande cURL pour la conversion JPEG en PNG
L’architecture REST des API Cloud nous permet d’y accéder même via des terminaux de ligne de commande. Mais en raison de restrictions de sécurité, vous devez d’abord générer un jeton Web JSON (JWT) basé sur les détails ClientID et ClientSecret récupérés à partir du tableau de bord Aspose.Cloud. Veuillez exécuter la commande suivante dans le terminal pour générer le jeton JWT.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Une fois que nous avons le jeton JWT, l’étape suivante consiste à appeler l’API ConvertImage pour effectuer l’opération de conversion JPG en PNG.
curl -X GET "https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o converted.png
URL de la demande
https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png
Conclusion
Nous avons exploré Aspose.Imaging Cloud API pour la conversion d’images JPEG au format PNG. Nous avons appris les processus de conversion de fichiers à l’aide du code C# .NET ainsi que la conversion à l’aide des commandes cURL. Veuillez également noter que le SDK Cloud est distribué sous une licence MIT et que son code source complet est disponible en téléchargement sur GitHub. Si vous rencontrez un problème ou si vous avez des questions lors de l’utilisation de l’API, n’hésitez pas à nous contacter via le Forum d’assistance produit gratuit.
Articles connexes
Nous vous recommandons également de visiter les liens suivants pour en savoir plus sur