SVG slike su istaknute jer su skalabilne i zadržavaju istu kvalitetu, bez obzira na veličinu ili razlučivost zaslona. Mogu se dizajnirati u bilo kojoj rezoluciji i mogu se povećati/smanjiti, bez oštećenja kvalitete (ili pikseliziranja). No, budući da se SVG slike temelje na točkama i putanjama, dakle umjesto na pikselima, ne mogu prikazati toliko detalja kao rasterska slika. Dakle, ako pretvorimo SVG u PNG sliku, ti se problemi mogu riješiti.
API za pretvorbu SVG u PNG
U ovom članku koristit ćemo Aspose.Imaging Cloud SDK za Javu koji je API temeljen na REST-u koji nudi mogućnosti programskog uređivanja, manipuliranja i transformiranja rastera, metadatoteka, photoshopa u razne podržane formate. Također podržava značajku pretvaranja SVG u PNG na mreži. Sada, kako bismo započeli s korištenjem SDK-a, moramo dodati njegovu referencu u naš Java projekt uključivanjem sljedećih informacija u pom.xml (maven build type project).
<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>
Da bismo koristili API, potrebne su nam personalizirane vjerodajnice klijenta. Možete ih lako dobiti ako ste već registrirani na Aspose Cloud Dashboard. Inače, registrirajte besplatni račun putem valjane adrese e-pošte i preuzmite vjerodajnice svog klijenta.
Pretvorite SVG u PNG u Javi
Naš API za obradu slika može pretvoriti PNG u SVG i SVG u PNG s minimalnim brojem linija koda. Stoga ćemo u ovom odjeljku raspravljati o svim detaljima pretvaranja SVG u PNG pomoću Jave.
- Prije svega, stvorite objekt klase ImagingApi gdje prosljeđujemo vjerodajnice klijenta kao argument
- Drugo, pročitajte sadržaj SVG slike koristeći metodu readAllBytes(…) i vratite ga u polje byte[]
- Zatim stvorite instancu UploadFileRequest dok prosljeđujete SVG naziv i prenesite je u pohranu u oblaku pomoću metode uploadFile(…)
- Sada stvorite objekt ConvertImageRequest, gdje prosljeđujemo ulazni SNG naziv i rezultirajući format kao “PNG”
- Pozovite metodu convertImage(…) za pokretanje pretvorbe SVG u PNG. Izlaz se zatim vraća kao tok odgovora
- Na kraju, spremite rezultirajući PNG na lokalni disk pomoću FileOutputStream objekta
// Dobijte ClientID i ClientSecret s https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// stvoriti Imaging object
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// učitati SVG sliku iz lokalnog sustava
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// stvoriti objekt zahtjeva za učitavanje datoteke
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// prenesite SVG sliku u pohranu u oblaku
imageApi.uploadFile(uploadRequest);
// odredite izlazni format slike
String format = "PNG";
// Stvorite objekt zahtjeva za konverziju slike
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// pretvoriti SVG u PNG i vratiti sliku u toku odgovora
byte[] resultantImage = imageApi.convertImage(convertImage);
// Spremite PNG sliku u lokalnu pohranu
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
Ulazna SVG slika korištena u gornjem primjeru može se preuzeti s FileExtension Icons.svg.
Spremite SVG kao PNG pomoću cURL naredbi
Kako je Aspose.Imaging Cloud razvijen prema REST arhitekturi, tako da mu se lako može pristupiti putem cURL naredbi. Stoga ćemo u ovom odjeljku spremiti SVG kao PNG pomoću naredbi cURL. Sada je prvi korak generiranje JWT pristupnog tokena (na temelju vjerodajnica klijenta) pomoću sljedeće naredbe.
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"
Nakon što se JWT token generira, izvršite sljedeću naredbu za spremanje SVG kao PNG slike.
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
Zaključak
Do kraja ovog članka naučili smo pojedinosti o tome kako možemo pretvoriti SVG u PNG pomoću Jave. U isto vrijeme, također smo istražili opciju pretvaranja SVG u PNG pomoću cURL naredbi. Nadalje, ako želite doći do izvornog koda SDK-a i modificirati ga prema svojim zahtjevima, možete ga preuzeti s GitHub (naši Cloud SDK-ovi razvijeni su pod licencom MIT-a). Imajte na umu da je druga opcija za testiranje nevjerojatnih značajki API-ja putem SwaggerUI unutar web preglednika.
Unatoč tome, Dokumentacija proizvoda prekrasan je repozitorij članaka koji objašnjavaju druge uzbudljive značajke API-ja. Na kraju, u slučaju da naiđete na bilo kakav problem tijekom korištenja API-ja, razmislite o tome da nam se obratite putem besplatnog foruma za podršku proizvoda.
povezani članci
Preporučujemo da posjetite sljedeće veze kako biste saznali više o: