Nasycenie obrazu jest określane jako intensywność kolorów. Czasami może być konieczne dodanie tekstu do obrazu SVG i nasycenie go. Zgodnie z takimi scenariuszami, w tym artykule opisano, jak programowo wykonać nasycenie tekstu w obrazach SVG w języku C#.
- C# API do nasycenia tekstu w obrazie SVG — instalacja
- Jak nasycić tekst obrazem SVG w C#
- Programowo nasycaj tekst w obrazie SVG w C#
C# API do nasycenia tekstu w obrazie SVG — instalacja
Interfejs API Aspose.SVG for .NET umożliwia tworzenie obrazów SVG lub manipulowanie nimi. Możesz stosować różne filtry i pracować z wieloma właściwościami obrazów Scalable Vector Graphics, a także konwertować obrazy SVG do obsługiwanych formatów. Po prostu pobierz plik DLL lub uruchom następujące polecenie instalacji NuGet:
PM> Install-Package Aspose.SVG
Jak nasycić tekst w obrazie SVG w C#
Możesz wstawić tekst do obrazu SVG i nasycić go, wykonując następujące czynności:
- Utwórz obiekt klasy SVGDocument.
- Utwórz defs i element filtrujący.
- Utwórz element feColorMatrix i dodaj tekst do pliku SVG.
- Zapisz wyjściowy obraz SVG.
W poniższej sekcji szczegółowo opisano, jak wykonać te kroki we fragmencie kodu C#:
Programowo nasycaj tekst w obrazie SVG w C#
Możesz nasycić tekst w obrazie SVG, wykonując następujące czynności:
- Utwórz obiekt klasy SVGDocument.
- Uzyskaj dostęp do głównego elementu SVG i ustaw adres URL przestrzeni nazw.
- Utwórz obiekt klasy SVGDefsElement i dodaj go do elementu SVG.
- Zainicjuj instancję klasy SVGFEColorMatrixElement i ustaw różne wartości.
- Zdefiniuj obiekt klasy SVGTextElement i dodaj tekst do pliku SVG.
- Na koniec wyeksportuj wyjściowy obraz SVG za pomocą metody Save().
Poniższy fragment kodu pokazuje, jak utworzyć efekt nasycenia za pomocą macierzy kolorów w języku C#:
// Utwórz instancję klasy SVGDocument
Aspose.Svg.SVGDocument document = new Aspose.Svg.SVGDocument();
// Ustaw adres URL przestrzeni nazw SVG
string SvgNamespace = "http://www.w3.org/2000/svg";
// Pobierz główny element svg dokumentu
Aspose.Svg.SVGSVGElement svgElement = document.RootElement;
// Utwórz element defs i dodaj go do elementu svgElement
Aspose.Svg.SVGDefsElement defsElement = (Aspose.Svg.SVGDefsElement)document.CreateElementNS(SvgNamespace, "defs");
svgElement.AppendChild(defsElement);
// Utwórz element filtru i dodaj go do elementu 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);
// Utwórz element 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);
// Utwórz element tekstowy i dodaj go do elementu 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);
// Zapisz dokument SVG
document.Save(Path.Combine(dataDir, "TextSaturation.svg"));
Uzyskaj bezpłatną licencję API
Możesz poprosić o bezpłatną licencję tymczasową, aby w pełni wykorzystać wszystkie funkcje interfejsu API.
Wniosek
W tym artykule nauczyłeś się, jak programowo zastosować nasycenie tekstu w obrazie SVG w języku C#. Natomiast możesz zajrzeć do sekcji documentation, aby poznać różne inne funkcje zawarte w interfejsie API. Jeśli chcesz omówić swoje wątpliwości lub niejasności, skontaktuj się z nami na darmowym forum pomocy.