svg en png

Convertir SVG en PNG en Java

Les images SVG sont importantes car elles sont évolutives et conservent la même qualité, quelle que soit la taille ou la résolution de l’écran. Ils peuvent être conçus à n’importe quelle résolution, et ils peuvent être agrandis ou réduits, sans endommager la qualité (ou être pixélisés). Mais, comme les images SVG sont basées sur des points et des chemins, donc au lieu de pixels, elles ne peuvent donc pas afficher autant de détails qu’une image raster. Donc, si nous convertissons l’image SVG en 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>

Maintenant, pour utiliser l’API, nous avons besoin de nos informations d’identification client personnalisées. Ils peuvent facilement être obtenus si vous êtes déjà inscrit sur Aspose Cloud Dashboard. Sinon, créez un compte gratuit via une adresse e-mail valide et obtenez vos informations d’identification client.

Convertir SVG en PNG en Java

Notre API de traitement d’image est capable de convertir PNG en SVG et SVG en PNG avec un minimum de lignes de code. Donc, dans cette section, nous allons discuter de tous les détails pour convertir SVG en PNG en utilisant Java.

  • Tout d’abord, créez un objet de la classe ImagingApi où nous passons les informations d’identification du client en argument
  • Deuxièmement, lisez le contenu de l’image SVG à l’aide de la méthode readAllBytes(…) et renvoyez-le au tableau byte[]
  • Créez ensuite une instance de UploadFileRequest en transmettant le nom SVG et téléchargez-la sur le stockage en nuage à l’aide de la méthode uploadFile(…)
  • Créez maintenant un objet de ConvertImageRequest, où nous transmettons le nom SNG d’entrée et le format résultant en “PNG”
  • Appelez la méthode convertImage(…) pour lancer la conversion SVG en PNG. La sortie est ensuite renvoyée 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

Comme Aspose.Imaging Cloud est développé selon l’architecture REST, il est donc facilement accessible via les commandes cURL. Donc, dans cette section, nous allons enregistrer SVG 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 enregistrer SVG en tant qu’image 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

À la fin de cet article, nous avons appris les détails sur la façon dont nous pouvons convertir SVG en PNG en utilisant Java. Dans le même temps, nous avons également exploré une option de conversion de SVG en PNG à l’aide des commandes cURL. De plus, si vous souhaitez obtenir le code source du SDK et le modifier selon vos besoins, il peut être téléchargé depuis GitHub (nos SDK Cloud sont développés sous licence MIT). Veuillez noter qu’une autre option pour tester les fonctionnalités étonnantes de l’API est via SwaggerUI dans le navigateur Web.

Néanmoins, la Product Documentation est un merveilleux référentiel d’articles expliquant d’autres fonctionnalités intéressantes de l’API. Enfin, si vous rencontrez un problème lors de l’utilisation de l’API, vous pouvez envisager de nous contacter via le [forum de support produit] gratuit 9.

Articles Liés

Nous vous recommandons vivement de visiter les liens suivants pour en savoir plus sur :