svg en png

Convertir SVG en PNG en Java

L’une des principales caractéristiques des images SVG est qu’elles sont évolutives. Les SVG conservent la même qualité quelle que soit la résolution ou la taille de l’écran auquel ils se trouvent. Vous pouvez donc le concevoir à n’importe quelle résolution, et il augmentera ou diminuera sa taille sans endommager la qualité ni devenir pixélisé. Lors de la comparaison avec des images raster, vous devez savoir quelle taille vous voulez dès le début, sinon vous risquez de rendre l’image trop grande ou trop petite. Mais, comme les SVG sont basés sur des points et des chemins au lieu de pixels, ils ne peuvent pas afficher autant de détails que les formats d’image standard. Donc, si nous convertissons SVG au format PNG, ces problèmes peuvent être résolus.

API de conversion SVG en PNG

Dans cet article, nous allons utiliser Aspose.Imaging Cloud SDK for Java qui est une API basée sur REST offrant les capacités d’éditer, de manipuler et de transformer par programmation des raster, des métafichiers, Photoshop en une variété de Formats pris en charge. Il prend également en charge la fonctionnalité de conversion de SVG en PNG en ligne. Maintenant, pour commencer à utiliser le SDK, nous devons ajouter sa référence dans notre projet Java en incluant les informations suivantes dans pom.xml (projet de type de construction 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>

Si nous nous sommes déjà inscrits sur Aspose Cloud Dashboard, veuillez obtenir vos informations d’identification client auprès de Cloud Dashboard. Sinon, vous devez d’abord créer un compte gratuit tout en utilisant une adresse e-mail valide.

Convertir SVG en PNG en Java

L’API de traitement d’image est capable de convertir PNG en SVG ainsi que SVG en PNG à l’aide d’un extrait de code Java.

  • Tout d’abord, créez un objet de ImagingApi à l’aide d’informations d’identification client personnalisées
  • Deuxièmement, lisez le contenu de l’image SVG à l’aide de la méthode readAllBytes(…) et passez au tableau byte[]
  • Créez ensuite une instance de UploadFileRequest tout en transmettant le nom SVG et téléchargez-le sur le stockage en nuage à l’aide de la méthode uploadFile(…)
  • Créez maintenant un objet de ConvertImageRequest où nous spécifions le SNG d’entrée et le format d’image résultant au format PNG
  • Appelez la méthode convertImage(…) pour convertir le format SVG au format PNG et le résultat est renvoyé sous forme de flux de réponse
  • Enfin, enregistrez le PNG résultant 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);

// charger l'image SVG à partir du système local
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// créer un objet de demande de téléchargement de fichier
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// télécharger l'image SVG sur le stockage Cloud
imageApi.uploadFile(uploadRequest);

// spécifier le format de sortie de l'image
String format = "PNG";

// Créer un objet de demande de conversion d'image
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// convertir SVG en PNG et renvoyer l'image dans le flux de réponse
byte[] resultantImage = imageApi.convertImage(convertImage);

// Enregistrer l'image PNG dans le stockage local
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

L’image SVG d’entrée utilisée dans l’exemple ci-dessus peut être téléchargée depuis FileExtension Icons.svg.

svg en png

Image : - convertir svg en png en ligne Aperçu

Enregistrer SVG au format PNG à l’aide des commandes cURL

Aspose.Imaging Cloud est développé selon l’architecture REST, nous pouvons donc enregistrer l’image au format png à l’aide des commandes cURL. Maintenant, la première étape consiste à générer un jeton d’accès JWT (basé sur les informations d’identification du client) à l’aide 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"

Une fois le jeton JWT généré, veuillez exécuter la commande suivante pour convertir le format SVG au format PNG.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.svg/convert?format=PNG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.png

Conclusion

Nous avons appris les détails sur la façon dont nous pouvons convertir SVG en PNG en utilisant un extrait de code Java. Dans le même temps, nous avons exploré une option de conversion de SVG en PNG à l’aide des commandes cURL. De plus, si vous souhaitez modifier le code source du SDK, vous pouvez le télécharger depuis GitHub (tous nos SDK Cloud sont développés sous licence MIT). En outre, l’une des options de test des fonctionnalités prometteuses de l’API est via SwaggerUI dans le navigateur Web.

Néanmoins, la Product Documentation est une source d’informations incroyable pour en savoir plus sur d’autres fonctionnalités intéressantes offertes par l’API 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 forum d’assistance produit.

Articles Liés

Veuillez visiter les liens suivants pour en savoir plus sur :