svg-ից մինչև png

Փոխարկել SVG-ն PNG-ի Java-ում

SVG պատկերները նշանավոր են, քանի որ դրանք մասշտաբային են և պահպանում են նույն որակը՝ անկախ չափից կամ էկրանի լուծաչափից: Նրանք կարող են նախագծվել ցանկացած լուծաչափով, և դրանք կարող են մեծացնել/նվազեցնել՝ առանց որակը վնասելու (կամ պիքսելացված լինելու): Բայց քանի որ SVG պատկերները հիմնված են կետերի և ուղիների վրա, ուստի պիքսելների փոխարեն նրանք չեն կարող ցուցադրել այնքան մանրամասներ, որքան ռաստերային պատկերը: Այսպիսով, եթե մենք փոխարկենք SVG-ն PNG պատկերի, այս խնդիրները կարող են լուծվել:

SVG-ի PNG փոխակերպման API

Այս հոդվածում մենք պատրաստվում ենք օգտագործել Aspose.Imaging Cloud SDK for Java, որը REST-ի վրա հիմնված API է, որն առաջարկում է ծրագրային կերպով խմբագրելու, մանիպուլյացիայի ենթարկելու և վերափոխելու ռաստերը, մետաֆայլերը, ֆոտոշոփը [Աջակցվող ֆորմատների] տարբեր 6: ]. Այն նաև աջակցում է SVG-ն առցանց PNG-ի փոխարկելու հնարավորությունը: Այժմ, որպեսզի սկսենք SDK-ի օգտագործումը, մենք պետք է ավելացնենք դրա հղումը մեր Java նախագծում՝ ներառելով հետևյալ տեղեկատվությունը 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>

Այժմ API-ն օգտագործելու համար մեզ անհրաժեշտ են մեր անհատականացված հաճախորդի հավատարմագրերը: Դրանք հեշտությամբ կարելի է ձեռք բերել, եթե դուք արդեն գրանցված եք Aspose Cloud Dashboard-ում: Հակառակ դեպքում, գրանցեք անվճար հաշիվ վավեր էլ. հասցեի միջոցով և ստացեք ձեր հաճախորդի հավատարմագրերը:

Փոխարկել SVG-ն PNG-ի Java-ում

Պատկերների մշակման մեր API-ն ունակ է փոխակերպելու PNG-ը SVG-ի և SVG-ի PNG-ի՝ նվազագույն կոդային տողերով: Այսպիսով, այս բաժնում մենք պատրաստվում ենք քննարկել բոլոր մանրամասները SVG-ն PNG-ի փոխարկելու համար Java-ի միջոցով:

  • Առաջին հերթին ստեղծեք ImagingApi դասի օբյեկտ, որտեղ մենք փոխանցում ենք հաճախորդի հավատարմագրերը որպես փաստարկ
  • Երկրորդ, կարդացեք SVG պատկերի բովանդակությունը readAllBytes(…) մեթոդով և վերադարձրեք այն բայթ[] զանգված:
  • Այնուհետև ստեղծեք UploadFileRequest-ի օրինակ SVG անունը փոխանցելիս և վերբեռնեք այն ամպային պահեստում՝ օգտագործելով uploadFile(…) մեթոդը:
  • Այժմ ստեղծեք ConvertImageRequest-ի օբյեկտ, որտեղ մենք փոխանցում ենք մուտքագրված SNG անունը և ստացված ձևաչափը որպես «PNG»:
  • Զանգահարեք convertImage(…) մեթոդը՝ SVG-ի PNG փոխարկումը սկսելու համար: Արդյունքը այնուհետև վերադարձվում է որպես պատասխան հոսք
  • Ի վերջո, պահպանեք ստացված PNG-ը տեղական սկավառակում՝ օգտագործելով FileOutputStream օբյեկտը
// Ստացեք ClientID-ը և ClientSecret-ը https://dashboard.aspose.cloud/-ից
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// ստեղծել Պատկերային օբյեկտ
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// բեռնել SVG պատկերը տեղական համակարգից
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// ստեղծել ֆայլի վերբեռնման հարցման օբյեկտ
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// վերբեռնեք SVG պատկերը Cloud պահեստում
imageApi.uploadFile(uploadRequest);

// նշեք պատկերի ելքային ձևաչափը
String format = "PNG";

// Ստեղծեք պատկերի փոխակերպման հարցման օբյեկտ
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// փոխարկել SVG-ն PNG-ի և վերադարձնել պատկերը պատասխան հոսքի մեջ
byte[] resultantImage = imageApi.convertImage(convertImage);

// Պահպանեք PNG պատկերը տեղական պահեստում
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

Վերոնշյալ օրինակում օգտագործված մուտքային SVG պատկերը կարելի է ներբեռնել FileExtension Icons.svg-ից:

svg-ից մինչև png

Պատկեր.- փոխարկել svg-ը png առցանց նախադիտում

Պահպանեք SVG-ը որպես PNG՝ օգտագործելով cURL հրամանները

Քանի որ Aspose.Imaging Cloud-ը մշակված է REST ճարտարապետության համաձայն, ուստի այն կարելի է հեշտությամբ մուտք գործել cURL հրամանների միջոցով: Այսպիսով, այս բաժնում մենք պատրաստվում ենք պահպանել SVG-ն որպես PNG՝ օգտագործելով cURL հրամանները: Այժմ առաջին քայլը JWT մուտքի նշան ստեղծելն է (հիմնված հաճախորդի հավատարմագրերի վրա)՝ օգտագործելով հետևյալ հրամանը:

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"

Երբ JWT նշանը ստեղծվի, խնդրում ենք կատարել հետևյալ հրամանը՝ SVG-ն որպես 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

Եզրակացություն

Այս հոդվածի վերջում մենք սովորեցինք մանրամասներ, թե ինչպես կարող ենք SVG-ն փոխարկել PNG-ի Java-ի միջոցով: Միևնույն ժամանակ, մենք նաև ուսումնասիրել ենք SVG-ն PNG-ի փոխարկելու տարբերակը՝ օգտագործելով cURL հրամանները: Ավելին, եթե ցանկանում եք ձեռք բերել SDK աղբյուրի կոդը և փոփոխել այն ձեր պահանջներին համապատասխան, այն կարելի է ներբեռնել GitHub-ից (մեր Cloud SDK-ները մշակված են MIT լիցենզիայի ներքո): Խնդրում ենք նկատի ունենալ, որ API-ի զարմանալի հատկությունները փորձարկելու մեկ այլ տարբերակ SwaggerUI-ի միջոցով է վեբ դիտարկիչում:

Այնուամենայնիվ, Product Documentation-ը հոդվածների հրաշալի պահոց է, որը բացատրում է API-ի այլ հետաքրքիր առանձնահատկությունները: Վերջապես, եթե API-ն օգտագործելիս որևէ խնդրի հանդիպեք, կարող եք մտածել մեզ մոտենալու մասին անվճար ապրանքի աջակցման ֆորումի միջոցով:

Առնչվող հոդվածներ

Խորհուրդ ենք տալիս ավելին իմանալու համար այցելել հետևյալ հղումները.