svg till png

Konvertera SVG till PNG i Java

SVG bilder är framträdande eftersom de är skalbara och håller samma kvalitet, oavsett storlek eller skärmupplösning. De kan designas i vilken upplösning som helst, och de kan storlek upp/ned, utan att skada kvaliteten (eller pixeleras). Men eftersom SVG-bilderna är baserade på punkter och banor, så istället för pixlar, så kan de inte visa lika många detaljer som en rasterbild. Så om vi konverterar SVG-bilden till PNG kan dessa problem lösas.

SVG till PNG Conversion API

I den här artikeln kommer vi att använda Aspose.Imaging Cloud SDK for Java som är REST-baserat API som erbjuder möjligheter att programmatiskt redigera, manipulera och transformera raster, metafiler, photoshop till olika format som stöds. Den stöder också funktionen för att konvertera SVG till PNG online. Nu, för att komma igång med SDK-användning, måste vi lägga till dess referens i vårt Java-projekt genom att inkludera följande information i pom.xml (maven byggtypsprojekt).

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

Nu för att kunna använda API:t behöver vi våra personliga kunduppgifter. De kan enkelt erhållas om du redan är registrerad på Aspose Cloud Dashboard. Annars, registrera ett gratis konto via en giltig e-postadress och få dina kunduppgifter.

Konvertera SVG till PNG i Java

Vårt API för bildbehandling kan konvertera PNG till SVG och SVG till PNG med minimala kodrader. Så i det här avsnittet kommer vi att diskutera alla detaljer för att konvertera SVG till PNG med Java.

  • Först av allt, skapa ett objekt av klassen ImagingApi där vi skickar klientuppgifterna som argument
  • För det andra, läs innehållet i SVG-bilden med metoden readAllBytes(…) och returnera den till byte[] array
  • Skapa sedan en instans av UploadFileRequest medan du skickar SVG-namnet och ladda upp den till molnlagring med metoden uploadFile(…)
  • Skapa nu ett objekt av ConvertImageRequest, där vi skickar in SNG-namnet och det resulterande formatet som “PNG”
  • Anropa convertImage(…)-metoden för att initiera SVG till PNG-konverteringen. Utsignalen returneras sedan som svarsström
  • Slutligen, spara den resulterande PNG till lokal enhet med FileOutputStream-objektet
// Hämta ClientID och ClientSecret från https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// skapa bildobjekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// ladda SVG-bild från det lokala systemet
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// skapa ett filuppladdningsbegäranobjekt
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// ladda upp SVG-bild till molnlagring
imageApi.uploadFile(uploadRequest);

// ange utdataformatet för bilden
String format = "PNG";

// Skapa objekt för bildkonverteringsbegäran
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// konvertera SVG till PNG och returnera bild i svarsström
byte[] resultantImage = imageApi.convertImage(convertImage);

// Spara PNG-bild till lokal lagring
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

SVG-inmatningsbilden som används i exemplet ovan kan laddas ner från FileExtension Icons.svg.

svg till png

Bild:- konvertera svg till png online förhandsgranskning

Spara SVG som PNG med hjälp av cURL-kommandon

Eftersom Aspose.Imaging Cloud är utvecklat enligt REST-arkitektur, så kan det enkelt nås via cURL-kommandon. Så i det här avsnittet kommer vi att spara SVG som PNG med hjälp av cURL-kommandona. Nu är det första steget att generera en JWT-åtkomsttoken (baserat på klientuppgifter) med följande kommando.

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"

När JWT-token har genererats, vänligen kör följande kommando för att spara SVG som PNG-bild.

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

Slutsats

I slutet av den här artikeln har vi lärt oss detaljerna om hur vi kan konvertera SVG till PNG med Java. Samtidigt har vi också utforskat ett alternativ att konvertera SVG till PNG med hjälp av cURL-kommandon. Dessutom, om du vill få tag på SDK-källkoden och modifiera den enligt dina krav, kan den laddas ner från GitHub (våra Cloud SDK är utvecklade under MIT-licens). Observera att ett annat alternativ för att testa de fantastiska funktionerna i API:t är via SwaggerUI i webbläsaren.

Ändå är Produktdokumentation ett underbart arkiv med artiklar som förklarar andra spännande funktioner i API:et. Slutligen, om du stöter på några problem när du använder API:t kan du överväga att kontakta oss via kostnadsfritt produktsupportforum.

relaterade artiklar

Vi rekommenderar starkt att du besöker följande länkar för att lära dig mer om: