С# SVG API, создание, редактирование, преобразование файлов SVG

Пришло время объявить о добавлении библиотеки C# SVG в нашу линейку продуктов — Aspose.SVG для .NET. Это библиотека классов .NET, которая позволяет программно создавать, редактировать, читать и преобразовывать файлы SVG с помощью C# в приложениях на основе .NET или .NET Core. Давайте быстро пройдемся по методам установки и основным функциям API.

C# .NET SVG API — установка

Aspose.SVG для .NET DLL можно скачать в нашем разделе Загрузки. С другой стороны, вы можете установить его через диспетчер пакетов NuGet или консоль диспетчера пакетов в Visual Studio.

Диспетчер пакетов NuGet

Библиотека С# .NET SVG

Консоль диспетчера пакетов

PM> Install-Package Aspose.SVG

Теперь давайте взглянем на некоторые основные функции API для работы с файлами SVG.

Создайте файл SVG с помощью C#

Aspose.SVG для .NET позволяет создать пустой файл со структурой SVG. Кроме того, вы также можете создать файл SVG из пользовательской строки. API предоставляет класс SVGDocument для создания файлов SVG, и вы можете в дальнейшем использовать этот объект для заполнения документа элементами SVG. После этого вы можете сохранить файл, используя метод SVGDocument.Save(). В следующих примерах кода показано, как создать файл SVG с нуля.

Создать пустой файл SVG в C#

// Полные примеры и файлы данных см. на странице https://github.com/aspose-svg/Aspose.SVG-for-.NET.
using (var document = new SVGDocument())
{
    // сделать некоторые действия над документом здесь... 
}

Создайте SVG с пользовательской строкой в C#

// Полные примеры и файлы данных см. на странице https://github.com/aspose-svg/Aspose.SVG-for-.NET.
using (var document = new SVGDocument("<svg xmlns='http://www.w3.org/2000/svg'><circle cx='50' cy='50' r='40'/></svg>", "."))
{
    // сделать некоторые действия над документом здесь... 
}

Редактировать файлы SVG в C#

Aspose.SVG для .NET также позволяет редактировать файлы SVG для обновления их содержимого. Объектная модель данных API эффективно отображает официальные спецификации SVG для доступа и редактирования узлов SVG и их элементов. В следующем примере кода показано, как редактировать файл SVG на C#.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-svg/Aspose.SVG-for-.NET.
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    const string @namespace = "http://www.w3.org/2000/svg";
    var circle = (SVGCircleElement)document.CreateElementNS(@namespace, "circle");
    circle.Cx.BaseVal.Value = 50;
    circle.Cy.BaseVal.Value = 50;
    circle.R.BaseVal.Value = 40;

    var g = document.QuerySelector("g");
    g.AppendChild(circle);

    Console.WriteLine(g.OuterHTML);
}

Чтение файлов SVG в C#

Если вы хотите прочитать существующий файл SVG, вы можете загрузить его с помощью класса SVGDocument. Просто создайте новый объект и инициализируйте его путем к файлу SVG, как показано в следующем примере кода.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-svg/Aspose.SVG-for-.NET.
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    // сделать некоторые действия над документом здесь... 
}

Преобразование файлов SVG в PSD, XPS или растровые изображения

Вы также можете конвертировать файлы SVG в различные другие форматы файлов. Поддерживаемые преобразования включают в себя:

  • SVG в PDF
  • SVG в XPS
  • SVG в изображение (JPEG, PNG, BMP, GIF, TIFF)

В следующем примере кода показано, как преобразовать файл SVG в PDF на C#.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-svg/Aspose.SVG-for-.NET.
string dataDir = RunExamples.GetDataDir_Data();

using (var document = new SVGDocument(Path.Combine(dataDir, "smiley.svg")))
{
    var options = new PdfRenderingOptions()
    {
        PageSetup =
        {
            AnyPage = new Page(new Size(500, 500))
        }
    };
    using (var device = new PdfDevice(options, dataDir + "smiley_out.pdf"))
    {
        document.RenderTo(device);
    }
}

Примеры кода преобразования SVG в XPS и SVG в изображение см. на странице Преобразование файлов SVG в C#.

Узнайте больше о .NET SVG API

Вы можете оценить возможности API, загрузив примеры проекта. Дополнительные сведения см. в документации API. Если у вас возникнут какие-либо вопросы или вопросы, сообщите нам об этом через наш форум.

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