svg ба png

Табдил додани SVG ба PNG дар Java

SVG тасвирҳо барҷастаанд, зеро онҳо миқёспазиранд ва новобаста аз андоза ё ҳалли экран ҳамон сифатро нигоҳ медоранд. Онҳо метавонанд дар ҳама гуна қарор тарҳрезӣ шаванд ва онҳо метавонанд ба сифат (ё пикселҳо) осеб нарасонанд, боло/паст. Аммо, азбаски тасвирҳои SVG ба нуқтаҳо ва роҳҳо асос ёфтаанд, бинобар ин онҳо ба ҷои пикселҳо тафсилоти зиёдеро ҳамчун тасвири растрӣ намоиш дода наметавонанд. Ҳамин тавр, агар мо SVG-ро ба тасвири PNG табдил диҳем, ин мушкилотро ҳал кардан мумкин аст.

API табдилдиҳии SVG ба PNG

Дар ин мақола, мо Aspose.Imaging Cloud SDK for Java -ро истифода мебарем, ки API дар асоси REST мебошад, ки қобилиятҳои ба таври барномавӣ таҳрир кардан, коркард ва табдил додани растер, метафайлҳо, фотошопро ба гуногунии Форматҳои дастгирӣшаванда пешниҳод мекунад. ]. Он инчунин хусусияти табдил додани SVG ба PNG онлайнро дастгирӣ мекунад. Ҳоло, барои оғоз кардани истифодаи SDK, мо бояд истинодро дар лоиҳаи Java-и худ бо ворид кардани маълумоти зерин дар pom.xml (лоиҳаи сохтани навъи maven) илова кунем.

<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(…) хонед ва онро ба массиви байт [] баргардонед
  • Сипас ҳангоми интиқоли номи SVG як мисоли UploadFileRequest эҷод кунед ва онро бо усули 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-ро ба анбори абрӣ бор кунед
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 онлайн Пешнамоиш

Бо истифода аз фармонҳои cURL SVG-ро ҳамчун PNG захира кунед

Азбаски Aspose.Imaging Cloud мувофиқи меъмории REST таҳия шудааст, аз ин рӯ онро тавассути фармонҳои cURL ба осонӣ дастрас кардан мумкин аст. Ҳамин тавр, дар ин бахш мо бо истифода аз фармонҳои cURL SVG-ро ҳамчун PNG захира мекунем. Ҳоло, қадами аввал тавлид кардани аломати дастрасии 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 зеркашӣ кардан мумкин аст (SDK-ҳои Cloud-и мо таҳти иҷозатномаи MIT таҳия шудаанд). Лутфан таваҷҷӯҳ намоед, ки варианти дигари санҷиши хусусиятҳои аҷиби API тавассути SwaggerUI дар дохили браузери веб аст.

Бо вуҷуди ин, Ҳуҷҷатҳои маҳсулот як анбори аҷиби мақолаҳоест, ки дигар хусусиятҳои ҷолиби API-ро шарҳ медиҳанд. Ниҳоят, агар шумо ҳангоми истифодаи API ба ягон мушкилот дучор шавед, шумо метавонед ба мо тавассути ройгон форуми дастгирии маҳсулот муроҷиат кунед.

Мақолаҳои марбут

Мо тавсия медиҳем, ки ба истиноди зерин муроҷиат кунед, то дар бораи маълумоти бештар маълумот гиред: