SVG-Bilder sind herausragend, weil sie skalierbar sind und unabhängig von Größe oder Bildschirmauflösung die gleiche Qualität beibehalten. Sie können in jeder Auflösung entworfen und vergrößert/verkleinert werden, ohne die Qualität zu beeinträchtigen (oder verpixelt zu werden). Da die SVG-Bilder aber auf Punkten & Pfaden basieren, also statt auf Pixeln, können sie nicht so viele Details darstellen wie ein Rasterbild. Wenn wir also das SVG-Bild in ein PNG-Bild konvertieren, können diese Probleme behoben werden.
- SVG-zu-PNG-Konvertierungs-API
- Konvertieren Sie SVG in PNG in Java
- Speichern Sie SVG als PNG mit cURL-Befehlen
SVG-zu-PNG-Konvertierungs-API
In diesem Artikel verwenden wir Aspose.Imaging Cloud SDK for Java, eine REST-basierte API, die die Möglichkeit bietet, Raster, Metadateien und Photoshop programmgesteuert zu bearbeiten, zu manipulieren und in eine Vielzahl von [unterstützten Formaten] umzuwandeln]6 . Es unterstützt auch die Funktion zum Online-Konvertieren von SVG in PNG. Um nun mit der SDK-Nutzung zu beginnen, müssen wir seine Referenz in unserem Java-Projekt hinzufügen, indem wir die folgenden Informationen in pom.xml (Maven-Build-Typ-Projekt) einfügen.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
Um die API zu verwenden, benötigen wir jetzt unsere personalisierten Kundenanmeldeinformationen. Sie können ganz einfach abgerufen werden, wenn Sie bereits bei Aspose Cloud Dashboard registriert sind. Andernfalls registrieren Sie ein kostenloses Konto über eine gültige E-Mail-Adresse und erhalten Sie Ihre Kundenanmeldeinformationen.
Konvertieren Sie SVG in PNG in Java
Unsere Bildverarbeitungs-API ist in der Lage, PNG in SVG und SVG in PNG mit minimalen Codezeilen zu konvertieren. In diesem Abschnitt werden wir also alle Details zur Konvertierung von SVG in PNG mit Java besprechen.
- Erstellen Sie zunächst ein Objekt der ImagingApi-Klasse, an das wir die Client-Anmeldeinformationen als Argument übergeben
- Lesen Sie zweitens den Inhalt des SVG-Bildes mit der Methode readAllBytes(…) und geben Sie ihn an das Array byte[] zurück
- Erstellen Sie dann eine Instanz von UploadFileRequest, während Sie den SVG-Namen übergeben, und laden Sie sie mit der Methode uploadFile(…) in den Cloud-Speicher hoch
- Erstellen Sie nun ein Objekt von ConvertImageRequest, wo wir den eingegebenen SNG-Namen und das resultierende Format als “PNG” übergeben.
- Rufen Sie die Methode convertImage(…) auf, um die Umwandlung von SVG in PNG zu initiieren. Die Ausgabe wird dann als Antwortstream zurückgegeben
- Speichern Sie abschließend das resultierende PNG mit dem FileOutputStream-Objekt auf dem lokalen Laufwerk
// Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// Imaging-Objekt erstellen
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// SVG-Bild vom lokalen System laden
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// Datei-Upload-Anforderungsobjekt erstellen
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// Laden Sie das SVG-Bild in den Cloud-Speicher hoch
imageApi.uploadFile(uploadRequest);
// Geben Sie das Ausgabeformat des Bildes an
String format = "PNG";
// Anforderungsobjekt für Bildkonvertierung erstellen
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// Konvertieren Sie SVG in PNG und geben Sie das Bild im Antwortstrom zurück
byte[] resultantImage = imageApi.convertImage(convertImage);
// Speichern Sie das PNG-Bild im lokalen Speicher
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
Das im obigen Beispiel verwendete SVG-Eingabebild kann von FileExtension Icons.svg heruntergeladen werden.
Speichern Sie SVG als PNG mit cURL-Befehlen
Da Aspose.Imaging Cloud gemäß der REST-Architektur entwickelt wurde, kann es einfach über cURL-Befehle aufgerufen werden. In diesem Abschnitt werden wir SVG mit den cURL-Befehlen als PNG speichern. Der erste Schritt besteht nun darin, mit dem folgenden Befehl ein JWT-Zugriffstoken (basierend auf Client-Anmeldeinformationen) zu generieren.
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"
Sobald das JWT-Token generiert ist, führen Sie bitte den folgenden Befehl aus, um SVG als PNG-Bild zu speichern.
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
Fazit
Am Ende dieses Artikels haben wir die Details erfahren, wie wir SVG mit Java in PNG konvertieren können. Gleichzeitig haben wir auch eine Möglichkeit untersucht, SVG mit cURL-Befehlen in PNG umzuwandeln. Wenn Sie den SDK-Quellcode erhalten und ihn gemäß Ihren Anforderungen ändern möchten, können Sie ihn außerdem von GitHub herunterladen (unsere Cloud-SDKs werden unter MIT-Lizenz entwickelt). Bitte beachten Sie, dass eine weitere Option zum Testen der erstaunlichen Funktionen der API über SwaggerUI im Webbrowser besteht.
Nichtsdestotrotz ist die Produktdokumentation eine wunderbare Sammlung von Artikeln, die andere spannende Funktionen der API erklären. Falls Sie bei der Verwendung der API auf ein Problem stoßen, können Sie sich schließlich über das kostenlose Produkt-Support-Forum an uns wenden.
Verwandte Artikel
Wir empfehlen dringend, die folgenden Links zu besuchen, um mehr darüber zu erfahren: