Obrázky SVG jsou výrazné, protože jsou škálovatelné a zachovávají si stejnou kvalitu bez ohledu na velikost nebo rozlišení obrazovky. Mohou být navrženy v jakémkoli rozlišení a mohou se zvětšovat/snižovat, aniž by došlo k poškození kvality (nebo pixelování). Ale protože obrázky SVG jsou založeny na bodech a cestách, tak místo na pixelech, takže nemohou zobrazit tolik detailů jako rastrový obrázek. Pokud tedy převedeme SVG na obrázek PNG, lze tyto problémy vyřešit.
- Rozhraní API pro převod SVG na PNG
- Převést SVG na PNG v Javě
- Uložte SVG jako PNG pomocí příkazů cURL
Rozhraní API pro převod SVG na PNG
V tomto článku budeme používat Aspose.Imaging Cloud SDK pro Java, což je REST API, které nabízí možnosti programově upravovat, manipulovat a transformovat rastry, metasoubory, photoshop do různých podporovaných formátů. Podporuje také funkci online převodu SVG do PNG. Nyní, abychom mohli začít s používáním SDK, musíme přidat jeho odkaz do našeho projektu Java zahrnutím následujících informací do pom.xml (projekt typu sestavení 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>
Nyní, abychom mohli používat API, potřebujeme naše personalizované klientské přihlašovací údaje. Lze je snadno získat, pokud jste již zaregistrováni na Aspose Cloud Dashboard. Jinak si zaregistrujte bezplatný účet prostřednictvím platné e-mailové adresy a získejte přihlašovací údaje klienta.
Převést SVG na PNG v Javě
Naše API pro zpracování obrazu je schopno převádět PNG na SVG a SVG na PNG s minimálními řádky kódu. V této části tedy probereme všechny podrobnosti o převodu SVG na PNG pomocí Javy.
- Nejprve vytvořte objekt třídy ImagingApi, kam předáme přihlašovací údaje klienta jako argument
- Za druhé, přečtěte si obsah obrázku SVG pomocí metody readAllBytes(…) a vraťte jej do pole byte[]
- Poté vytvořte instanci UploadFileRequest při předávání názvu SVG a nahrajte ji do cloudového úložiště pomocí metody uploadFile(…)
- Nyní vytvořte objekt ConvertImageRequest, kam předáme vstupní název SNG a výsledný formát jako „PNG“
- Zavolejte metodu convertImage(…) pro zahájení převodu SVG na PNG. Výstup je pak vrácen jako tok odpovědí
- Nakonec uložte výsledný PNG na místní disk pomocí objektu FileOutputStream
// Získejte ClientID a ClientSecret z https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// vytvořit Imaging objekt
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// načíst obrázek SVG z místního systému
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// vytvořit objekt požadavku na nahrání souboru
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// nahrajte obrázek SVG do cloudového úložiště
imageApi.uploadFile(uploadRequest);
// určete výstupní formát obrázku
String format = "PNG";
// Vytvořit objekt požadavku na konverzi obrázku
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// převést SVG na PNG a vrátit obrázek do proudu odpovědí
byte[] resultantImage = imageApi.convertImage(convertImage);
// Uložte obrázek PNG do místního úložiště
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
Vstupní obrázek SVG použitý ve výše uvedeném příkladu lze stáhnout z FileExtension Icons.svg.
Uložte SVG jako PNG pomocí příkazů cURL
Aspose.Imaging Cloud je vyvinut podle architektury REST, takže k němu lze snadno přistupovat pomocí příkazů cURL. V této části tedy uložíme SVG jako PNG pomocí příkazů cURL. Nyní je prvním krokem vygenerování přístupového tokenu JWT (na základě přihlašovacích údajů klienta) pomocí následujícího pří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 vygenerování tokenu JWT spusťte prosím následující příkaz a uložte SVG jako obrázek 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ávěr
Na konci tohoto článku jsme se dozvěděli podrobnosti o tom, jak můžeme převést SVG na PNG pomocí Javy. Současně jsme také prozkoumali možnost převodu SVG do PNG pomocí příkazů cURL. Kromě toho, pokud byste chtěli získat zdrojový kód SDK a upravit jej podle svých požadavků, můžete si jej stáhnout z GitHub (naše Cloud SDK jsou vyvíjeny pod licencí MIT). Vezměte prosím na vědomí, že další možnost testování úžasných funkcí API je prostřednictvím SwaggerUI ve webovém prohlížeči.
Nicméně Product Documentation je skvělým úložištěm článků vysvětlujících další vzrušující funkce API. A konečně, v případě, že při používání API narazíte na nějaký problém, můžete nás kontaktovat prostřednictvím bezplatného fóra podpory produktů.
Související články
Důrazně doporučujeme navštívit následující odkazy, kde se dozvíte více o: