zmień kolor SVG csharp

Obrazy SVG stają się popularne ze względu na ich skalowalność i cechy jakościowe. W niektórych scenariuszach może być konieczna zmiana koloru obrazów SVG, aby były bardziej atrakcyjne. W tym artykule opisano, jak programowo zmienić kolor różnych elementów SVG w języku C#.

Praca z kolorem elementów SVG – instalacja C# .NET API

Za pomocą Aspose.SVG for .NET API można manipulować kolorami różnych elementów SVG, takich jak Circle, Line itp. Po prostu pobierz pliki DLL z New Releases lub użyj następującego polecenia instalacyjnego NuGet:

PM> Install-Package Aspose.SVG

Zmień kolor elementu okręgu SVG w C#

Możesz zmienić kolor elementu okręgu SVG w C#, wykonując następujące czynności:

  1. Utwórz instancję klasy SVGDocument, aby załadować wejściowy plik SVG.
  2. Pobierz główny i zakreśl element SVG dokumentu.
  3. Ustaw atrybut i kolor elementu SVG.
  4. Zapisz wyjściowy obraz SVG.

Poniższy fragment kodu wyjaśnia, jak zmienić kolor elementu okręgu pliku SVG w języku C#:

// Załaduj dokument SVG z pliku
SVGDocument document = new SVGDocument("shapes.svg");

// Pobierz główny element svg dokumentu
SVGElement svgElement = document.RootElement;

// Pobierz element koła, aby zmienić kolor
SVGCircleElement circleElement = svgElement.QuerySelector("circle") as SVGCircleElement;

// Ustaw nową wartość atrybutu „wypełnij” dla elementu okręgu
circleElement.SetAttribute("fill", "blue");

// Zapisz dokument SVG
document.Save("circle-color.svg");

Zmień kolor elementu liniowego SVG w C#

Wykonaj poniższe czynności, aby zmienić kolor elementu Line w obrazie SVG w języku C#:

  • Zainicjuj obiekt klasy SVGDocument, aby załadować źródłowy obraz SVG.
  • Pobierz element główny i liniowy, aby zmodyfikować kolor.
  • Zapisz wyjściowy plik SVG za pomocą metody Save.

Poniższy fragment kodu pokazuje, jak programowo zmienić kolor linii w pliku SVG w języku C#:

// Załaduj dokument SVG z pliku
SVGDocument document = new SVGDocument("basic-shapes.svg");

// Pobierz główny element svg dokumentu
SVGSVGElement svgElement = document.RootElement;

// Pobierz element liniowy, aby zmienić kolor
SVGLineElement lineElement = svgElement.QuerySelector("line") as SVGLineElement;

// Ustaw nową wartość atrybutu „obrys” dla elementu liniowego
lineElement.SetAttribute("stroke", "blue");

// Zapisz dokument SVG
document.Save("line-color.svg");

Ustaw kolor tła obrazu SVG w C#

Możesz poprawić wygląd obrazów SVG, ustawiając kolor tła obrazów SVG, wykonując następujące czynności:

  • Ustaw przestrzeń nazw SVG i załaduj plik wejściowy.
  • Utwórz prostokątny element i ustaw różne właściwości.
  • Dodaj element prostokątny jako pierwsze dziecko i zapisz plik wyjściowy.

Poniższy fragment kodu pokazuje, jak programowo ustawić kolor tła obrazu SVG w języku C#:

// Ustaw adres URL przestrzeni nazw SVG
string SvgNamespace = "http://www.w3.org/2000/svg";

// Załaduj dokument SVG z pliku
SVGDocument document = new SVGDocument("basic-shapes.svg");

// Pobierz główny element svg dokumentu
SVGSVGElement svgElement = document.RootElement;

// Utwórz element prostokąta i ustaw wartość atrybutu „wypełnienie”, aby zmienić kolor tła
SVGRectElement rectElement = (SVGRectElement)document.CreateElementNS(SvgNamespace, "rect");
rectElement.X.BaseVal.Value = 3;
rectElement.Y.BaseVal.Value = 3;
rectElement.Width.BaseVal.Value = 400;
rectElement.Height.BaseVal.Value = 400;
rectElement.SetAttribute("fill", "Salmon");

// Dodaj element prostokątny jako pierwsze dziecko do elementu SVG
svgElement.InsertBefore(rectElement, svgElement.FirstChild);

// Zapisz dokument SVG
document.Save("background-color.svg");

Uzyskaj bezpłatną licencję ewaluacyjną

Możesz ocenić interfejs API bez żadnych ograniczeń ewaluacyjnych, otrzymując bezpłatną licencję ewaluacyjną.

Wniosek

W tym artykule nauczyłeś się, jak zmieniać kolor różnych elementów obrazu SVG. Podobnie omówiono tutaj szczegóły dotyczące ustawiania koloru tła obrazu SVG. Ponadto możesz zapoznać się z innymi funkcjami API w sekcji dokumentacja. W przypadku jakichkolwiek pytań, napisz do nas na forum.

Zobacz też

Konwertuj SVG na HTML w systemie Linux w języku C#