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
- Jak programowo obrócić plik obrazu SVG w języku C#
- Programowo obróć obraz SVG w 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:
- Otwórz wejściowy plik SVG i utwórz element graficzny.
- Ustaw transformację obrotu i określ stopień obrotu.
- Dołącz element graficzny.
- Zapisz obrócony obraz SVG.
Programowo obróć obraz SVG w C#
Musisz wykonać poniższe kroki, aby obrócić obraz SVG w C#:
- Załaduj wejściowy plik SVG z klasą SVGDocument.
- Wspomnij o kącie obrotu i ustaw transformację obrotu.
- Dołącz element graficzny.
- 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.