Насиченість тексту в SVG C#

Насиченість зображення описується як інтенсивність кольорів. Іноді вам може знадобитися додати текст до зображення SVG і наситити його. Відповідно до таких сценаріїв, у цій статті описано, як виконати насичення тексту в зображеннях SVG програмним шляхом у C#.

C# API для насичення тексту в зображенні SVG – встановлення

Aspose.SVG for .NET API здатний створювати або маніпулювати зображеннями SVG. Ви можете застосовувати різні фільтри та працювати з багатьма властивостями зображень Scalable Vector Graphic, а також конвертувати зображення SVG у підтримувані формати. Просто завантажте файл DLL або запустіть таку команду встановлення NuGet:

PM> Install-Package Aspose.SVG

Як наситити текст у зображенні SVG у C#

Ви можете вставити текст у зображення SVG і наситити його, виконавши такі дії:

  1. Створіть об’єкт класу SVGDocument.
  2. Створіть елемент def і filter.
  3. Створіть елемент feColorMatrix і додайте текст до SVG.
  4. Збережіть вихідне зображення SVG.

У наступному розділі докладніше описано, як виконати ці кроки у фрагменті коду C#:

Насичення тексту в зображенні SVG програмним способом у C#

Ви можете наситити текст у зображенні SVG, виконавши такі дії:

  1. Створіть об’єкт класу SVGDocument.
  2. Отримайте доступ до кореневого елемента SVG і встановіть URL-адресу простору імен.
  3. Створіть об’єкт класу SVGDefsElement і додайте його до елемента SVG.
  4. Ініціалізуйте екземпляр класу SVGFEColorMatrixElement і встановіть інші значення.
  5. Визначте об’єкт класу SVGTextElement і додайте текст до SVG.
  6. Нарешті, експортуйте вихідне зображення SVG за допомогою методу Save().

Наведений нижче фрагмент коду демонструє, як створити ефект насиченості за допомогою кольорової матриці в C#:

// Створіть екземпляр класу SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();

// Установити URL-адресу простору імен SVG
string SvgNamespace = "http://www.w3.org/2000/svg";
// Отримати кореневий елемент svg документа
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;


// Створіть елемент defs і додайте його до svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);

// Створіть елемент фільтра та додайте його до елемента defsElement
var filterElement = (Aspose.Svg.SVGFilterElement)document.CreateElementNS(SvgNamespace, "filter");
filterElement.Id = "shadow";
filterElement.SetAttribute("x", "-20px");
filterElement.SetAttribute("y", "-20px");
filterElement.SetAttribute("height", "150px");
filterElement.SetAttribute("width", "150px");
defsElement.AppendChild(filterElement);


// Створіть елемент feColorMatrix
var feColorMatrixElement = (Aspose.Svg.Filters.SVGFEColorMatrixElement)document.CreateElementNS(SvgNamespace, "feColorMatrix");
feColorMatrixElement.In1.BaseVal = "SourceGraphic";
feColorMatrixElement.SetAttribute("type", "saturate");
feColorMatrixElement.SetAttribute("values", "0.2");
filterElement.AppendChild(feColorMatrixElement);

// Створіть текстовий елемент і додайте його до svgElement
var textElement = (Aspose.Svg.SVGTextElement)document.CreateElementNS(SvgNamespace, "text");
textElement.Style.FontSize = "5em";
textElement.SetAttribute("x", "20px");
textElement.SetAttribute("fill", "blue");
textElement.SetAttribute("y", "100px");
textElement.TextContent = "Aspose.SVG for .NET API";
textElement.SetAttribute("filter", "url(#shadow)");
svgElement.InsertBefore(textElement, svgElement.FirstChild);

// Збережіть документ SVG
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));

Отримайте безкоштовну ліцензію API

Ви можете подати запит на безкоштовну тимчасову ліцензію, щоб оцінити всі функції API на повну потужність.

Висновок

У цій статті ви дізналися, як програмно застосувати насиченість тексту до зображення SVG у C#. Тоді як ви можете переглянути розділ документація, щоб дізнатися про інші функції, включені в API. Якщо ви хочете обговорити будь-які свої проблеми чи неясності, будь ласка, зв’яжіться з нами на безкоштовному форумі підтримки.

Дивись також