svg naar png

Converteer SVG naar PNG in Java

SVG-afbeeldingen zijn prominent omdat ze schaalbaar zijn en dezelfde kwaliteit behouden, ongeacht de grootte of schermresolutie. Ze kunnen met elke resolutie worden ontworpen en ze kunnen groter of kleiner worden gemaakt, zonder de kwaliteit te beschadigen (of korrelig te worden). Maar aangezien de SVG-afbeeldingen zijn gebaseerd op punten en paden, dus in plaats van pixels, kunnen ze niet zoveel details weergeven als een rasterafbeelding. Dus als we de SVG naar een PNG-afbeelding converteren, kunnen deze problemen worden opgelost.

SVG naar PNG-conversie-API

In dit artikel gaan we Aspose.Imaging Cloud SDK voor Java gebruiken, een op REST gebaseerde API die de mogelijkheid biedt om raster, metabestanden, photoshop programmatisch te bewerken, manipuleren en transformeren naar verschillende ondersteunde indelingen. Het ondersteunt ook de functie om online SVG naar PNG te converteren. Om nu aan de slag te gaan met het gebruik van SDK, moeten we de referentie ervan toevoegen aan ons Java-project door de volgende informatie op te nemen in pom.xml (maven build-type project).

<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>

Om de API te kunnen gebruiken, hebben we nu onze gepersonaliseerde klantreferenties nodig. Ze kunnen eenvoudig worden verkregen als u al bent geregistreerd op Aspose Cloud Dashboard. Registreer anders een gratis account via een geldig e-mailadres en ontvang uw klantreferenties.

Converteer SVG naar PNG in Java

Onze beeldverwerkings-API kan PNG naar SVG en SVG naar PNG converteren met minimale coderegels. Dus in dit gedeelte gaan we alle details bespreken om SVG naar PNG te converteren met Java.

  • Maak allereerst een object van de ImagingApi-klasse waar we de clientreferenties als argument doorgeven
  • Ten tweede, lees de inhoud van de SVG-afbeelding met behulp van de readAllBytes(…)-methode en stuur deze terug naar de byte[]-array
  • Maak vervolgens een instantie van UploadFileRequest terwijl u de SVG-naam doorgeeft en upload deze naar cloudopslag met behulp van de methode uploadFile(…)
  • Maak nu een object van ConvertImageRequest, waar we de ingevoerde SNG-naam en het resulterende formaat doorgeven als “PNG”
  • Roep de methode convertImage(…) aan om de conversie van SVG naar PNG te starten. De uitvoer wordt vervolgens geretourneerd als responsstroom
  • Sla ten slotte de resulterende PNG op de lokale schijf op met behulp van het FileOutputStream-object
// Haal ClientID en ClientSecret op van https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// Imaging-object maken
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// laad SVG-afbeelding van lokaal systeem
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// maak een aanvraagobject voor het uploaden van bestanden
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// upload SVG-afbeelding naar cloudopslag
imageApi.uploadFile(uploadRequest);

// geef het uitvoerformaat van de afbeelding op
String format = "PNG";

// Maak een afbeeldingsconversieverzoekobject
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// converteer SVG naar PNG en retourneer de afbeelding in de responsstroom
byte[] resultantImage = imageApi.convertImage(convertImage);

// Bewaar PNG-afbeelding in lokale opslag
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

De invoer-SVG-afbeelding die in het bovenstaande voorbeeld wordt gebruikt, kan worden gedownload van FileExtension Icons.svg.

svg naar png

Afbeelding: - converteer svg naar png online voorbeeld

Sla SVG op als PNG met behulp van cURL-opdrachten

Omdat Aspose.Imaging Cloud is ontwikkeld volgens de REST-architectuur, is het dus gemakkelijk toegankelijk via cURL-commando’s. Dus in dit gedeelte gaan we SVG als PNG opslaan met behulp van de cURL-opdrachten. Nu is de eerste stap het genereren van een JWT-toegangstoken (op basis van clientreferenties) met behulp van de volgende opdracht.

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"

Zodra het JWT-token is gegenereerd, voert u de volgende opdracht uit om SVG als PNG-afbeelding op te slaan.

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

Gevolgtrekking

Aan het einde van dit artikel hebben we de details geleerd over hoe we SVG naar PNG kunnen converteren met Java. Tegelijkertijd hebben we ook een optie onderzocht om SVG naar PNG te converteren met behulp van cURL-opdrachten. Als u bovendien de SDK-broncode wilt bemachtigen en deze volgens uw vereisten wilt wijzigen, kunt u deze downloaden van GitHub (onze Cloud SDK’s zijn ontwikkeld onder MIT-licentie). Houd er rekening mee dat een andere optie voor het testen van de geweldige functies van de API via SwaggerUI in de webbrowser is.

Desalniettemin is de Productdocumentatie een prachtige verzameling artikelen waarin andere opwindende functies van de API worden uitgelegd. Als u ten slotte een probleem tegenkomt tijdens het gebruik van de API, kunt u overwegen ons te benaderen via het gratis productondersteuningsforum.

gerelateerde artikelen

We raden u ten zeerste aan de volgende links te bezoeken voor meer informatie over: