Изображения SVG выделяются, потому что они масштабируются и сохраняют одинаковое качество, независимо от размера или разрешения экрана. Они могут быть созданы с любым разрешением и могут увеличиваться/уменьшаться без ущерба для качества (или пикселизации). Но поскольку изображения SVG основаны на точках и путях, а не на пикселях, они не могут отображать столько деталей, сколько растровое изображение. Итак, если мы преобразуем SVG в изображение PNG, эти проблемы можно решить.
- API преобразования SVG в PNG
- Преобразование SVG в PNG в Java
- Сохранить SVG как PNG с помощью команд cURL
API преобразования SVG в PNG
В этой статье мы собираемся использовать Aspose.Imaging Cloud SDK для 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(…) и верните его в массив 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, вы можете обратиться к нам через бесплатный форум поддержки продукта.
Статьи по Теме
Мы настоятельно рекомендуем посетить следующие ссылки, чтобы узнать больше о: