C# SVG API, створення, редагування, конвертація файлів SVG

Настав час оголосити про додавання бібліотеки C# SVG до нашої лінійки продуктів - Aspose.SVG for .NET. Це бібліотека класів .NET, яка дозволяє створювати, редагувати, читати та конвертувати файли SVG програмним шляхом за допомогою C# у програмах на основі .NET або .NET Core. Давайте коротко познайомимося з методами встановлення та основними функціями API.

C# .NET SVG API – встановлення

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

Менеджер пакетів NuGet

Бібліотека C# .NET SVG

Консоль менеджера пакетів

PM> Install-Package Aspose.SVG

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

Створіть файл SVG за допомогою C#

Aspose.SVG for .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 for .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. Якщо у вас виникнуть будь-які запитання чи запити, не соромтеся повідомити нас через наш форум.

Дивись також