Obróć obraz SVG C#

Pliki SVG definiują grafikę w formacie XML. Można je skalować lub drukować w dowolnym rozmiarze bez pogorszenia jakości obrazu. W niektórych przypadkach może być konieczne obrócenie obrazu SVG. W związku z tym w tym artykule opisano, jak programowo obrócić obraz SVG w języku C#.

Obrót obrazu C# SVG – instalacja API

Aspose.SVG for .NET obsługuje pracę z plikami SVG. Możesz edytować, aktualizować lub tworzyć obrazy SVG z poziomu aplikacji opartych na .NET Framework. Po prostu pobierz referencyjne pliki DLL ze strony Downloads lub uruchom poniższe polecenie instalacji NuGet:

PM> Install-Package Aspose.SVG

Jak programowo obrócić plik obrazu SVG w języku C#

Możesz obrócić plik obrazu SVG, wykonując następujące czynności:

  1. Otwórz wejściowy plik SVG i utwórz element graficzny.
  2. Ustaw transformację obrotu i określ stopień obrotu.
  3. Dołącz element graficzny.
  4. Zapisz obrócony obraz SVG.

Programowo obróć obraz SVG w C#

Musisz wykonać poniższe kroki, aby obrócić obraz SVG w C#:

  1. Załaduj wejściowy plik SVG z klasą SVGDocument.
  2. Wspomnij o kącie obrotu i ustaw transformację obrotu.
  3. Dołącz element graficzny.
  4. Zapisz wyjściowy obrócony obraz SVG za pomocą metody Save.

Poniższy kod wyjaśnia, jak programowo obrócić obraz SVG z osadzoną zawartością HTML za pomocą C#:

// Otwórz dokument SVG
using var document = new SVGDocument("example.svg");

var svg = document.RootElement as SVGElement;
var bbox = document.RootElement.GetBBox();

if (svg == null)
    return;

// Utwórz element graficzny g;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Ustaw transformację obrotu 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Skopiuj dzieci z elementu svg do elementu g
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Usuń dzieci z svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Dołącz żel do elementu svg
document.RootElement.AppendChild(g);

// Zapisz zmodyfikowany dokument
document.Save("roatedexample.svg");

Uzyskaj bezpłatną licencję API

Możesz poprosić o bezpłatną licencję tymczasową, aby przetestować interfejs API w pełni.

Wniosek

W tym artykule nauczyłeś się programowo obracać obraz SVG w języku C#. Ponadto możesz odwiedzić sekcję dokumentacja, aby poznać inne funkcje API. W przypadku jakichkolwiek niejasności prosimy o kontakt pod adresem forum.

Zobacz też