svg ў png

Пераўтварыце SVG у PNG у Java

Выявы SVG прыкметныя, таму што яны маштабуюцца і захоўваюць аднолькавую якасць, незалежна ад памеру або раздзялення экрана. Іх можна распрацаваць у любой раздзяляльнасці, і яны могуць павялічваць/памяншаць памер без шкоды для якасці (або пікселізацыі). Але, паколькі выявы SVG заснаваныя на кропках і шляхах, а не на пікселях, яны не могуць адлюстроўваць столькі дэталяў, колькі растравы малюнак. Такім чынам, калі мы пераўтворым выяву SVG у PNG, гэтыя праблемы можна вырашыць.

API пераўтварэння SVG у PNG

У гэтым артыкуле мы збіраемся выкарыстоўваць Aspose.Imaging Cloud SDK для Java, які заснаваны на REST API і прапануе магчымасці праграмнага рэдагавання, маніпулявання і пераўтварэння растраў, метафайлаў, Photoshop у розныя падтрымоўваныя фарматы. ]. Ён таксама падтрымлівае функцыю канвертавання 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(…) і вярніце яго ў масіў byte[]
  • Затым стварыце асобнік 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";

// стварыць аб'ект Imaging
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 анлайн-прагляд

Захавайце 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 у вэб-браўзеры.

Тым не менш, Дакументацыя па прадукту з’яўляецца цудоўным сховішчам артыкулаў, якія тлумачаць іншыя цікавыя асаблівасці API. Нарэшце, калі вы сутыкнецеся з праблемай пры выкарыстанні API, вы можаце звярнуцца да нас праз бясплатны форум падтрымкі прадукту.

Звязаныя артыкулы

Мы настойліва раім наведаць наступныя спасылкі, каб даведацца больш пра: