SVG изображенията се открояват, защото са мащабируеми и поддържат същото качество, независимо от размера или разделителната способност на екрана. Те могат да бъдат проектирани с всякаква разделителна способност и могат да увеличават/намаляват размера, без да влошават качеството (или да бъдат пикселизирани). Но тъй като SVG изображенията се основават на точки и пътеки, така че вместо на пиксели, те не могат да показват толкова много детайли, колкото растерно изображение. Така че, ако конвертираме SVG в PNG изображение, тези проблеми могат да бъдат решени.
- API за преобразуване на SVG към PNG
- Конвертирайте SVG в PNG в Java
- Запазете SVG като PNG с помощта на cURL команди
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";
// създайте обект за изображения
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 с помощта на 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, може да обмислите да се свържете с нас чрез безплатен форум за поддръжка на продукти.
Свързани статии
Силно препоръчваме да посетите следните връзки, за да научите повече за: