Преобразование SVG в JPG PNG изображение C#

SVG (векторная графика с масштабированием) является широко используемым форматом для векторной графики. Хотя SVG предлагает масштабируемость и высокое качество рендеринга, вам часто может понадобиться конвертировать файлы SVG в растровые форматы изображений, такие как JPG или PNG, для более широкой совместимости, например, для встраивания в отчеты, веб-страницы или мобильные приложения. В этом блоге мы расскажем вам о шагах для конвертации SVG в JPG и PNG на C#.

SVG to Image Converter - Установка API на C#

Чтобы конвертировать SVG в растровый формат изображения, вам необходимо установить Conholdate.Total for .NET из Новых релизов или выполнить следующую команду установки NuGet:

PM> NuGet\Install-Package Conholdate.Total

Почему конвертировать SVG в форматы изображений?

Существует несколько причин, по которым разработчики и дизайнеры должны конвертировать SVG файлы в растровые форматы изображений, такие как JPG и PNG:

  • Совместимость: Многие приложения и платформы не поддерживают SVG, но они охотно поддерживают JPG или PNG.
  • Производительность: Растровые изображения отображаются быстрее на некоторых платформах и требуют меньше вычислительной мощности по сравнению с динамической отрисовкой SVG.
  • Печать: SVG может потерять детали или не отобразиться корректно в печатных форматах, в то время как PNG и JPG обеспечивают готовое к печати качество.
  • Интеграция: Растровые изображения часто легче вставлять в документы, электронные письма и мультимедийные презентации.

Теперь давайте углубимся в реализацию.

Преобразование SVG в JPG в C#

Вы можете конвертировать SVG в формат JPG на C# с помощью следующих шагов:

  • Load any input SVG or define the SVG code.
  • Укажите путь, по которому будет сохранён файл JPG.
  • Используйте ImageSaveOptions, чтобы установить формат вывода как JPEG.
  • Call ConvertSVG to process the conversion.

Следующий пример показывает, как преобразовать SVG в JPG на C#:

// Prepare SVG code
var code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
            "<circle cx ='100' cy ='100' r ='55' fill='green' stroke='red' stroke-width='10' />" +
            "</svg>";

// Подготовьте путь для сохранения преобразованного файла
string savePath = Path.Combine(dataDir, "svgtojpgimage.jpg");

// Создайте экземпляр класса ImageSaveOptions.
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg);

// Преобразовать SVG в JPG
Aspose.Html.Converters.Converter.ConvertSVG(code, ".", options, savePath);

Конвертировать SVG в PNG изображение на C#

Для конвертации SVG в PNG процесс схож, но требует изменения формата вывода на PNG:

  • Читать исходный SVG или создать любое SVG изображение.
  • Укажите путь к файлу для записи файла PNG.
  • Создайте экземпляр класса ImageSaveOptions и укажите PNG в качестве желаемого формата.
  • Преобразуйте SVG в PNG с помощью метода ConvertSVG.

Ниже приведённый фрагмент кода демонстрирует, как преобразовать SVG в PNG на C#:

// Prepare SVG code
var code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
            "<circle cx ='100' cy ='100' r ='55' fill='green' stroke='red' stroke-width='10' />" +
            "</svg>";

// Подготовьте путь для сохранения преобразованного файла
string savePath = Path.Combine(dataDir, "image.png");

// Создайте экземпляр класса ImageSaveOptions
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png);

// Конвертировать SVG в PNG
Aspose.Html.Converters.Converter.ConvertSVG(code, ".", options, savePath);

Бесплатная лицензия на оценку

Вы можете запросить бесплатную временную лицензию , чтобы протестировать API на полную мощность.

Суммируя

Преобразование SVG в растровые форматы изображений, такие как JPG и PNG, является распространенной задачей в различных приложениях. Независимо от того, нужны ли вам изображения высокого качества для веб-приложений, отчетов или мультимедийных проектов, предоставленные фрагменты кода обеспечивают надежное преобразование SVG в изображения. В случае любых вопросов, пожалуйста, напишите нам на forum.

Смотрите также