Az SVG képek azért kiemelkedőek, mert méretezhetők, és ugyanazt a minőséget tartják fenn, mérettől vagy képernyőfelbontástól függetlenül. Bármilyen felbontásban megtervezhetők, és méretük felfelé és lefelé is méretezhető anélkül, hogy a minőség romlana (vagy pixeles lenne). De mivel az SVG képek pontokon és útvonalakon alapulnak, ezért nem pixelek, így nem tudnak annyi részletet megjeleníteni, mint egy raszteres kép. Tehát, ha az SVG-t PNG képpé alakítjuk, ezek a problémák megoldhatók.
- SVG-ből PNG-be konvertáló API
- Konvertálja az SVG-t PNG-re Java nyelven
- Mentse el az SVG-t PNG-ként a cURL parancsokkal
SVG-ből PNG-be konvertáló API
Ebben a cikkben az [Aspose.Imaging Cloud SDK for Java] alkalmazást 17 fogjuk használni, amely egy REST alapú API, amely lehetőséget kínál a raszterek, metafájlok, Photoshop programozott szerkesztésére, manipulálására és átalakítására különféle támogatott formátumokba. Támogatja azt a funkciót is, amellyel az SVG-t PNG-re konvertálhatja online. Most, az SDK használatának megkezdéséhez hozzá kell adnunk a hivatkozást a Java projektünkhöz az alábbi információkkal a pom.xml fájlba (maven build típusú projekt).
<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>
Az API használatához most személyre szabott kliens hitelesítő adatokra van szükségünk. Könnyen beszerezhetők, ha már regisztráltak az Aspose Cloud Dashboard oldalon. Ellenkező esetben regisztráljon egy ingyenes fiókot érvényes e-mail címen keresztül, és szerezze be az ügyfél hitelesítő adatait.
Konvertálja az SVG-t PNG-re Java nyelven
Képfeldolgozó API-nk minimális kódsorokkal képes PNG-t SVG-vé és SVG-t PNG-vé konvertálni. Tehát ebben a részben az SVG Java segítségével PNG-re konvertálásának minden részletét meg fogjuk tárgyalni.
- Először is hozzon létre egy ImagingApi osztály objektumot, ahol argumentumként adjuk át az ügyfél hitelesítő adatait
- Másodszor olvassa el az SVG kép tartalmát a readAllBytes(…) metódussal, és térjen vissza a byte[] tömbbe
- Ezután hozzon létre egy UploadFileRequest példányt az SVG név átadása közben, és töltse fel a felhőtárhelyre az uploadFile(…) metódussal
- Most hozzon létre egy ConvertImageRequest objektumot, ahol a bemeneti SNG nevet és a kapott formátumot “PNG”-ként adjuk át.
- Hívja a convertImage(…) metódust az SVG-ből PNG-be konvertálás kezdeményezéséhez. A kimenet ezután válaszfolyamként kerül visszaadásra
- Végül mentse az eredményül kapott PNG-t a helyi meghajtóra a FileOutputStream objektum segítségével
// Szerezze be a ClientID-t és a ClientSecret-et a https://dashboard.aspose.cloud/ webhelyről
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// Képalkotó objektum létrehozása
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// SVG kép betöltése a helyi rendszerről
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// fájlfeltöltési kérelem objektum létrehozása
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// SVG-kép feltöltése a felhőtárhelyre
imageApi.uploadFile(uploadRequest);
// adja meg a kép kimeneti formátumát
String format = "PNG";
// Képkonverziós kérelem objektum létrehozása
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// konvertálja az SVG-t PNG-be, és adja vissza a képet a válaszfolyamban
byte[] resultantImage = imageApi.convertImage(convertImage);
// PNG-kép mentése a helyi tárhelyre
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
A fenti példában használt bemeneti SVG kép letölthető a FileExtension Icons.svg webhelyről.
Mentse el az SVG-t PNG-ként a cURL parancsokkal
Mivel az Aspose.Imaging Cloud REST architektúra szerint lett kifejlesztve, így könnyen elérhető cURL parancsokkal. Tehát ebben a részben az SVG-t PNG-ként fogjuk menteni a cURL parancsokkal. Most az első lépés egy JWT hozzáférési jogkivonat létrehozása (az ügyfél hitelesítő adatai alapján) a következő paranccsal.
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"
A JWT token létrehozása után hajtsa végre a következő parancsot az SVG PNG-képként való mentéséhez.
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
Következtetés
A cikk végére megtudtuk, hogyan alakíthatjuk át az SVG-t PNG-re Java használatával. Ezzel egyidejűleg megvizsgáltuk az SVG-t PNG-vé konvertáló lehetőséget is cURL parancsok segítségével. Továbbá, ha szeretné megszerezni az SDK-forráskódot, és az igényeinek megfelelően módosítani szeretné, letöltheti a GitHub oldalról (Cloud SDK-jainkat MIT-licenc alatt fejlesztjük). Kérjük, vegye figyelembe, hogy egy másik lehetőség az API csodálatos funkcióinak tesztelésére a SwaggerUI segítségével a webböngészőn belül.
Mindazonáltal a Termékdokumentáció az API egyéb izgalmas funkcióit ismertető cikkek csodálatos tárháza. Végül, ha bármilyen problémába ütközik az API használata során, fontolóra veheti, hogy az ingyenes terméktámogatási fórumon megkeres minket.
kapcsolódó cikkek
Erősen javasoljuk, hogy látogassa meg az alábbi linkeket, ha többet szeretne megtudni erről: