Как конвертировать файлы SVG – примеры C#

Преобразование документов SVG в другие форматы – одна из основных функций Aspose.SVG для .NET API. Конвертация необходима по разным причинам: для работы в привычном, удобном формате или для использования разных форматов для конкретных задач. В статьях этого раздела представлена ​​информация о списке поддерживаемых сценариев преобразования SVG и о том, как их выполнить на C#.

Aspose.SVG для .NET API может конвертировать файлы SVG в PDF, XPS, JPG, PNG, Форматы файлов BMP, TIFF и GIF. Вы можете использовать API в своем C# или любом другом приложении .NET (например, VB.NET) для разработки приложений-конвертеров, не вдаваясь в подробности базовых форматов файлов.

Онлайн-конвертер SVG

Вы можете конвертировать SVG в другие форматы с помощью API Aspose.SVG в режиме реального времени. Загрузите SVG из локальной файловой системы или из URL, выберите выходной формат и запустите пример. В этом примере параметры сохранения установлены по умолчанию. Вы сразу получите результат в виде отдельного файла.

                
            

Несколько способов конвертировать SVG в C#

Конвертировать SVG в различные популярные форматы можно любым способом – онлайн или программно. Преобразование из SVG в другие форматы можно выполнить с помощью методов ConvertSVG() класса Converter, метода RenderTo(device) класса SVGDocument. или метод Render(IDevice, TDocument) класса Renderer.

В текущем разделе описаны поддерживаемые сценарии преобразования файлов SVG в другие популярные форматы с использованием классов Converter и SVGDocument:

  1. Класс static Converter представляет собой общий фасад, который обеспечивает преобразование файлов SVG в популярные форматы и позволяет сделать эти операции удобными и простыми. Широкий спектр методов ConvertSVG() принимает в качестве аргументов исходный документ, параметры сохранения, путь к выходному файлу и конвертирует SVG в файлы PDF, XPS или изображения.
  2. Метод RenderTo() класса SVGDocument используется для рендеринга SVG в другой формат и отправки документа на устройство вывода. API Aspose.SVG предоставляет следующую реализацию устройств вывода: классы PdfDevice, XpsDevice и ImageDevice, которые выполняют рендеринг в форматы файлов PDF, XPS и Image соответственно.
  3. Метод Render(IDevice, TDocument) класса Renderer дает вам возможность отправлять несколько документов одновременно на выходное устройство рендеринга и объединять их. Дополнительную информацию см. в статье Как объединить документы SVG.

Рассмотрим оба сценария преобразования SVG-документа в другой формат файла, например, SVG в PNG:

Вы можете загрузить полные примеры и файлы данных с GitHub. О загрузке с GitHub и запуске примеров вы узнаете из раздела Как запускать примеры.

Преобразование SVG в PNG с помощью метода ConvertSVG()

Преобразование файла в другой формат методом ConvertSVG() представляет собой последовательность операций, среди которых загрузка и сохранение документа:

1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Saving;
4using Aspose.Svg.Converters;
 1// Convert SVG to PNG using C#
 2
 3// Initialize an SVG document from a file
 4using (SVGDocument document = new SVGDocument(Path.Combine(DataDir, "svg-to-png.svg")))
 5{
 6    // Create an instance of the ImageSaveOptions class
 7    ImageSaveOptions pngSaveOptions = new ImageSaveOptions();
 8
 9    // Convert SVG to PNG
10    Converter.ConvertSVG(document, pngSaveOptions, Path.Combine(OutputDir, "svg-to-png.png"));
11}

В этом примере конструктор ImageSaveOptions() инициализирует экземпляр класса ImageSaveOptions, который передается в метод ConvertSVG(). Метод ConvertSVG(source, options, outputPath) принимает необходимые атрибуты и выполняет операцию преобразования.

На рисунке показан файл svg-to-png.png.

Text «файл svg-to-png.svg, преобразованный в PNG»

Преобразование SVG в PNG с помощью метода RenderTo()

Чтобы преобразовать SVG в PNG с помощью метода RenderTo(), выполните следующие шаги:

1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Rendering.Image;
 1// Convert SVG to PNG in C#
 2
 3// Open a source SVG document
 4using (SVGDocument document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
 5{
 6    // Initialize an instance of the ImageRenderingOptions class 
 7    ImageRenderingOptions pngOptions = new ImageRenderingOptions();
 8
 9    // Initialize an instance of the ImageDevice class and specify an output file to render
10    using (ImageDevice device = new ImageDevice(pngOptions, Path.Combine(OutputDir, "light_out.png")))
11    {
12        // Render SVG to PNG
13        document.RenderTo(device);
14    }
15}

Конструктор ImageDevice(options, file) принимает в качестве аргументов экземпляр класса ImageRenderingOptions, имя выходного файла и инициализирует новый экземпляр класса ImageDevice. Метод RenderTo(device) преобразует и отправляет текущий документ на выходное устройство рендеринга.

На рисунке показан результат преобразования SVG в PNG – файл Light.png.

Text «Файл Light.svg, преобразованный в PNG с использованием метода RenderTo()»

Общие настройки

Вы можете настроить процесс рендеринга, указав размер страницы, поля, цвет фона и т. д. Для конвертации SVG во все упомянутые выше форматы из класса RenderingOptions наследуются следующие свойства: BackgroundColor, Css , HorizontalResolution, PageSetup и VerticalResolution.

Каждое устройство вывода PdfDevice, XpsDevice и ImageDevice имеет свой собственный уникальный набор параметров, реализованных с помощью классов PdfRenderingOptions, XpsRenderingOptions и ImageRenderingOptions соответственно.

Параметры, реализуемые с помощью классов PdfSaveOptions, XpsSaveOptions и ImageSaveOptions, наследуются от классов PdfRenderingOptions, XpsRenderingOptions и ImageRenderingOptions соответственно.

Aspose.SVG предлагает бесплатный онлайн SVG Конвертер для конвертации файлов SVG в различные популярные форматы. Вы можете легко конвертировать SVG в PDF, SVG в XPS, SVG в JPG, SVG в PNG, SVG в BMP, SVG в TIFF, SVG в GIF. Просто выберите файл, выберите формат для конвертации, и все готово. Это быстро и совершенно бесплатно!

Text “SVG Converter”

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.