SVG в PNG

Конвертировать SVG в PNG онлайн | Сохранить SVG в PNG

Масштабируемая векторная графика (SVG) определяет векторную графику для Интернета. SVG — это векторный формат изображений на основе XML для двухмерной графики с поддержкой интерактивности и анимации. Этот формат популярен для рендеринга двухмерных изображений в Интернете, где изображения могут масштабироваться до любого размера. Но если у нас есть требование преобразовать SVG в PNG для сжатия без потерь, где не теряется детализация и качество, то Aspose.Imaging Cloud — это жизнеспособное решение.

В этой статье подробно рассказывается, как конвертировать SVG в PNG онлайн.

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

Изображение 1: Предварительный просмотр преобразования SVG в 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 или возникнут какие-либо вопросы, свяжитесь с нами через бесплатный форум поддержки продукта.

Ссылки по теме

Мы рекомендуем посетить следующие ссылки, чтобы узнать больше о: