zo svg na png

Previesť SVG na PNG v Jave

Obrázky SVG sú výrazné, pretože sú škálovateľné a zachovávajú si rovnakú kvalitu bez ohľadu na veľkosť alebo rozlíšenie obrazovky. Môžu byť navrhnuté v akomkoľvek rozlíšení a môžu sa zväčšovať alebo zmenšovať bez poškodenia kvality (alebo pixelovania). Ale keďže sú obrázky SVG založené na bodoch a cestách, tak namiesto pixelov nemôžu zobraziť toľko detailov ako rastrový obrázok. Ak teda skonvertujeme obrázok SVG na obrázok PNG, tieto problémy sa dajú vyriešiť.

Rozhranie API na konverziu SVG do PNG

V tomto článku budeme používať Aspose.Imaging Cloud SDK for Java, čo je REST založené API, ktoré ponúka možnosti programovej úpravy, manipulácie a transformácie rastra, metasúborov, photoshopu do rôznych podporovaných formátov. Podporuje tiež funkciu prevodu SVG na PNG online. Teraz, aby sme mohli začať s využitím SDK, musíme pridať jeho referenciu do nášho projektu Java zahrnutím nasledujúcich informácií do pom.xml (projekt typu zostavy maven).

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

Teraz, aby sme mohli používať API, potrebujeme naše personalizované prihlasovacie údaje klienta. Môžete ich ľahko získať, ak ste už zaregistrovaní na Aspose Cloud Dashboard. V opačnom prípade si zaregistrujte bezplatný účet prostredníctvom platnej e-mailovej adresy a získajte prihlasovacie údaje klienta.

Previesť SVG na PNG v Jave

Naše API na spracovanie obrazu je schopné konvertovať PNG na SVG a SVG na PNG s minimálnym počtom riadkov kódu. Takže v tejto časti budeme diskutovať o všetkých podrobnostiach prevodu SVG na PNG pomocou Java.

  • Najprv vytvorte objekt triedy ImagingApi, do ktorého odovzdáme prihlasovacie údaje klienta ako argument
  • Po druhé, prečítajte si obsah obrázka SVG pomocou metódy readAllBytes(…) a vráťte ho do poľa bajtov[]
  • Potom vytvorte inštanciu UploadFileRequest pri odovzdávaní názvu SVG a nahrajte ju do cloudového úložiska pomocou metódy uploadFile(…)
  • Teraz vytvorte objekt ConvertImageRequest, kde odovzdáme vstupný názov SNG a výsledný formát ako “PNG”
  • Zavolaním metódy convertImage(…) spustíte konverziu SVG na PNG. Výstup sa potom vráti ako tok odpovedí
  • Nakoniec uložte výsledný PNG na lokálny disk pomocou objektu FileOutputStream
// Získajte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// vytvoriť Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// načítať obrázok SVG z lokálneho systému
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// vytvoriť objekt žiadosti o nahranie súboru
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// nahrajte obrázok SVG do cloudového úložiska
imageApi.uploadFile(uploadRequest);

// zadajte výstupný formát obrázka
String format = "PNG";

// Vytvorte objekt žiadosti o konverziu obrázka
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// konvertovať SVG na PNG a vrátiť obrázok v toku odpovedí
byte[] resultantImage = imageApi.convertImage(convertImage);

// Uložte obrázok PNG do lokálneho úložiska
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

Vstupný obrázok SVG použitý vo vyššie uvedenom príklade je možné stiahnuť z FileExtension Icons.svg.

zo svg na png

Obrázok:- previesť svg na png online náhľad

Uložte SVG ako PNG pomocou príkazov cURL

Keďže Aspose.Imaging Cloud je vyvinutý podľa architektúry REST, dá sa k nemu ľahko pristupovať pomocou príkazov cURL. V tejto časti teda uložíme SVG ako PNG pomocou príkazov cURL. Teraz je prvým krokom vygenerovanie prístupového tokenu JWT (na základe poverení klienta) pomocou nasledujúceho príkazu.

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"

Po vygenerovaní tokenu JWT vykonajte nasledujúci príkaz na uloženie SVG ako obrázku PNG.

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

Záver

Na konci tohto článku sme sa dozvedeli podrobnosti o tom, ako môžeme previesť SVG na PNG pomocou Java. Zároveň sme tiež preskúmali možnosť prevodu SVG na PNG pomocou príkazov cURL. Okrem toho, ak by ste chceli získať zdrojový kód SDK a upraviť ho podľa svojich požiadaviek, môžete si ho stiahnuť z GitHub (naše Cloud SDK sú vyvinuté pod licenciou MIT). Upozorňujeme, že ďalšou možnosťou testovania úžasných funkcií rozhrania API je SwaggerUI vo webovom prehliadači.

Napriek tomu je Product Documentation úžasným úložiskom článkov vysvetľujúcich ďalšie vzrušujúce funkcie API. Nakoniec, v prípade, že pri používaní rozhrania API narazíte na akýkoľvek problém, môžete nás kontaktovať prostredníctvom bezplatného fóra podpory produktov.

Súvisiace články

Dôrazne odporúčame navštíviť nasledujúce odkazy, kde sa dozviete viac o: