svg hanggang png

I-convert ang SVG sa PNG sa Java

Ang mga larawan ng SVG ay kitang-kita dahil nasusukat ang mga ito at nagpapanatili ng parehong kalidad, anuman ang laki o resolution ng screen. Maaring idisenyo ang mga ito sa anumang resolusyon, at maaari nilang pataasin/pababa ang laki, nang hindi nasisira ang kalidad (o pagiging pixelated). Ngunit, dahil ang mga SVG na imahe ay nakabatay sa mga punto at landas, kaya sa halip na mga pixel, hindi sila maaaring magpakita ng kasing dami ng mga detalye gaya ng isang raster na imahe. Kaya, kung iko-convert natin ang SVG sa PNG na larawan, malulutas ang mga isyung ito.

SVG sa PNG Conversion API

Sa artikulong ito, gagamitin namin ang Aspose.Imaging Cloud SDK para sa Java na REST based API na nag-aalok ng mga kakayahan na mag-edit, magmanipula at mag-transform ng raster, metafile, photoshop sa iba’t ibang Supported Formats ]. Sinusuportahan din nito ang tampok na i-convert ang SVG sa PNG online. Ngayon, para makapagsimula sa paggamit ng SDK, kailangan naming idagdag ang reference nito sa aming proyekto sa Java sa pamamagitan ng pagsasama ng sumusunod na impormasyon sa pom.xml (maven build type project).

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

Ngayon para magamit ang API, kailangan namin ang aming mga personalized na kredensyal ng kliyente. Madali silang makukuha kung nakarehistro ka na sa Aspose Cloud Dashboard. Kung hindi, magrehistro ng isang libreng account sa pamamagitan ng isang wastong email address at kunin ang mga kredensyal ng iyong kliyente.

I-convert ang SVG sa PNG sa Java

Ang aming Image processing API ay may kakayahang mag-convert ng PNG sa SVG at SVG sa PNG na may kaunting mga linya ng code. Kaya sa seksyong ito, tatalakayin natin ang lahat ng mga detalye upang mai-convert ang SVG sa PNG gamit ang Java.

  • Una sa lahat, lumikha ng object ng ImagingApi class kung saan ipinapasa namin ang mga kredensyal ng kliyente bilang argumento
  • Pangalawa, basahin ang nilalaman ng SVG na imahe gamit ang readAllBytes(…) na paraan at ibalik ito sa byte[] array
  • Pagkatapos ay lumikha ng isang halimbawa ng UploadFileRequest habang ipinapasa ang pangalan ng SVG at i-upload ito sa cloud storage gamit ang uploadFile(…) na paraan
  • Ngayon lumikha ng isang object ng ConvertImageRequest, kung saan ipinapasa namin ang input na pangalan ng SNG at resultang format bilang “PNG”
  • Tawagan ang convertImage(…) na paraan upang simulan ang SVG sa PNG na conversion. Ang output ay ibinalik bilang stream ng tugon
  • Panghuli, i-save ang resultang PNG sa lokal na drive gamit ang FileOutputStream object
// Kumuha ng ClientID at ClientSecret mula sa https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// lumikha ng Imaging object
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// i-load ang SVG na imahe mula sa lokal na sistema
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// lumikha ng object ng kahilingan sa pag-upload ng file
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// mag-upload ng SVG na larawan sa Cloud storage
imageApi.uploadFile(uploadRequest);

// tukuyin ang output format ng imahe
String format = "PNG";

// Lumikha ng object ng kahilingan sa conversion ng Imahe
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// i-convert ang SVG sa PNG at ibalik ang imahe bilang tugon stream
byte[] resultantImage = imageApi.convertImage(convertImage);

// I-save ang PNG na imahe sa lokal na imbakan
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

Maaaring ma-download ang input na SVG na larawan na ginamit sa halimbawa sa itaas mula sa FileExtension Icons.svg.

svg hanggang png

Larawan:- i-convert ang svg sa png online Preview

I-save ang SVG bilang PNG gamit ang cURL Commands

Bilang Aspose.Imaging Cloud ay binuo ayon sa REST architecture, kaya madali itong ma-access sa pamamagitan ng cURL command. Kaya sa seksyong ito, ise-save namin ang SVG bilang PNG gamit ang mga utos ng cURL. Ngayon, ang unang hakbang ay ang bumuo ng JWT access token (batay sa mga kredensyal ng kliyente) gamit ang sumusunod na command.

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"

Kapag nabuo na ang JWT token, mangyaring isagawa ang sumusunod na command upang i-save ang SVG bilang PNG na imahe.

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

Konklusyon

Sa pagtatapos ng artikulong ito, natutunan namin ang mga detalye kung paano namin mako-convert ang SVG sa PNG gamit ang Java. Kasabay nito, nag-explore din kami ng opsyon sa pag-convert ng SVG sa PNG gamit ang mga cURL command. Higit pa rito, kung gusto mong makuha ang SDK source code at baguhin ito ayon sa iyong mga kinakailangan, maaari itong i-download mula sa GitHub (ang aming mga Cloud SDK ay binuo sa ilalim ng lisensya ng MIT). Pakitandaan na ang isa pang opsyon para sa pagsubok sa mga kamangha-manghang feature ng API ay sa pamamagitan ng SwaggerUI sa loob ng web browser.

Gayunpaman, ang Product Documentation ay isang magandang repository ng mga artikulong nagpapaliwanag ng iba pang kapana-panabik na feature ng API. Panghuli, kung sakaling makatagpo ka ng anumang isyu habang ginagamit ang API, maaari mong isaalang-alang ang paglapit sa amin sa pamamagitan ng libreng product support forum.

Mga Kaugnay na Artikulo

Lubos naming inirerekumenda ang pagbisita sa mga sumusunod na link upang matuto nang higit pa tungkol sa: