Насиченість зображення описується як інтенсивність кольорів. Іноді вам може знадобитися додати текст до зображення SVG і наситити його. Відповідно до таких сценаріїв, у цій статті описано, як виконати насичення тексту в зображеннях SVG програмним шляхом у C#.
- C# API для насичення тексту в зображенні SVG – встановлення
- Як наситити текст у зображенні SVG у C#
- Насичення тексту в зображенні 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 і наситити його, виконавши такі дії:
- Створіть об’єкт класу SVGDocument.
- Створіть елемент def і filter.
- Створіть елемент feColorMatrix і додайте текст до SVG.
- Збережіть вихідне зображення SVG.
У наступному розділі докладніше описано, як виконати ці кроки у фрагменті коду C#:
Насичення тексту в зображенні SVG програмним способом у C#
Ви можете наситити текст у зображенні SVG, виконавши такі дії:
- Створіть об’єкт класу SVGDocument.
- Отримайте доступ до кореневого елемента SVG і встановіть URL-адресу простору імен.
- Створіть об’єкт класу SVGDefsElement і додайте його до елемента SVG.
- Ініціалізуйте екземпляр класу SVGFEColorMatrixElement і встановіть інші значення.
- Визначте об’єкт класу SVGTextElement і додайте текст до SVG.
- Нарешті, експортуйте вихідне зображення 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. Якщо ви хочете обговорити будь-які свої проблеми чи неясності, будь ласка, зв’яжіться з нами на безкоштовному форумі підтримки.