Масштабируемая векторная графика (SVG) определяет векторную графику для Интернета. SVG — это векторный формат изображений на основе XML для двухмерной графики с поддержкой интерактивности и анимации. Этот формат популярен для рендеринга двухмерных изображений в Интернете, где изображения могут масштабироваться до любого размера. Но если у нас есть требование преобразовать SVG в PNG для сжатия без потерь, где не теряется детализация и качество, то Aspose.Imaging Cloud — это жизнеспособное решение.
В этой статье подробно рассказывается, как конвертировать SVG в PNG онлайн.
- API преобразования изображений
- Конвертировать SVG в PNG на C#
- SVG в PNG с использованием команд cURL
API преобразования изображений
Aspose.Imaging Cloud — наше программное решение для обработки изображений. Вы можете выполнять такие операции, как изменение размера, обрезка, поворот, масштабирование, переворот, поиск и экспорт изображений в различные поддерживаемые форматы. Чтобы еще больше облегчить работу нашим пользователям, мы создали SDK для конкретных языков программирования, и в рамках этой статьи мы будем использовать Aspose.Imaging Cloud SDK для .NET. Теперь перейдите по следующей ссылке, чтобы узнать больше о Как установить Aspose.Cloud SDK.
Конвертировать SVG в PNG на C#
Чтобы преобразовать изображение SVG, уже имеющееся в облачном хранилище, в формат PNG, следуйте инструкциям ниже.
- Первым шагом является создание экземпляра ImagingApi с передачей сведений ClientID и ClientSecret в качестве аргументов.
- Во-вторых, загрузите изображение SVG в облачное хранилище с помощью метода UploadFile(..) ImagingApi.
- В-третьих, создайте экземпляр класса ConvertImageRequest, передав в качестве аргументов имя входного SVG и результирующий формат.
- Теперь вызовите метод ConvertImage(..) для выполнения операции преобразования. Результирующий PNG возвращается как экземпляр Stream.
- Наконец, вызовите пользовательский метод с помощью File.Create, чтобы сохранить экземпляр Stream как файл на локальном диске.
// Полные примеры можно найти на сайте https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// Получите учетные данные клиента с https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// создать объект DiagramApi
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");
// имя входного SVG-файла
String inputFileName = "trashloader2.svg";
// результирующий формат файла
String newFormat = "png";
// имя выходного файла
String newFileName = "Converted.png";
try
{
// загрузить файл с локального диска
using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
{
// создать запрос на загрузку файла
UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
// загрузить файл в облачное хранилище по умолчанию
imagingApi.UploadFile(request);
// создать экземпляр для преобразования изображений
var response = new ConvertImageRequest(inputFileName,newFormat);
// инициировать операцию преобразования изображения
var responseStream = imagingApi.ConvertImage(response);
// сохранить экземпляр потока как файл в локальном хранилище
saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
Для справки, образцы изображений, использованные в примере выше, можно загрузить с trashloader2.svg и Converted.png.
SVG в PNG с использованием команд cURL
В этом разделе мы выполним преобразование SVG в PNG с помощью команд cURL. Первым шагом является генерация токена доступа JWT на основе учетных данных клиента. Выполните следующую команду, чтобы сгенерировать его:
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Теперь выполните следующую команду cURL, чтобы преобразовать SVG в PNG, где результат возвращается в виде потока ответа и может быть сохранен на локальном диске.
curl -X GET "https://api.aspose.cloud/v3.0/imaging/trashloader2.svg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
В случае, если вам необходимо преобразовать изображение SVG, переданное как содержимое multipart/form-data с нулевым индексом или как необработанный поток body.
curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png
Заключение
Мы обсудили возможности преобразования изображений API Aspose.Imaging Cloud. Особое внимание уделено преобразованию SVG в PNG с использованием фрагмента кода C# .NET. В то же время мы обсудили детали сохранения SVG в PNG с помощью команд cURL. Обратите внимание, что доступ к API также возможен через интерфейс Swagger, и вы можете протестировать API в веб-браузере. Тем не менее, пакеты Cloud SDK разрабатываются под лицензией MIT, поэтому полный исходный код можно загрузить с GitHub.
Если у вас возникнут какие-либо проблемы при использовании API или возникнут какие-либо вопросы, свяжитесь с нами через бесплатный форум поддержки продукта.
Ссылки по теме
Мы рекомендуем посетить следующие ссылки, чтобы узнать больше о: