SVG-Bild drehen C#

SVG-Dateien definieren die Grafiken im XML-Format. Sie können in jeder Größe skaliert oder gedruckt werden, ohne die Bildqualität zu beeinträchtigen. In einigen Fällen müssen Sie ein SVG-Bild möglicherweise drehen. Dementsprechend behandelt dieser Artikel, wie ein SVG-Bild programmgesteuert in C# gedreht wird.

C#-SVG-Bildrotation – API-Installation

Aspose.SVG for .NET unterstützt die Arbeit mit SVG-Dateien. Sie können SVG-Bilder in Ihren .NET Framework-basierten Anwendungen bearbeiten, aktualisieren oder erstellen. Laden Sie einfach die Referenz-DLL-Dateien von der Seite Downloads herunter oder führen Sie den folgenden NuGet-Installationsbefehl aus:

PM> Install-Package Aspose.SVG

So drehen Sie SVG-Bilddateien programmgesteuert in C#

Sie können eine SVG-Bilddatei mit den folgenden Schritten drehen:

  1. Öffnen Sie die SVG-Eingabedatei und erstellen Sie ein Grafikelement.
  2. Stellen Sie die Drehungstransformation ein und geben Sie den Grad für die Drehung an.
  3. Grafikelement anhängen.
  4. Speichern Sie das gedrehte SVG-Bild.

Drehen Sie ein SVG-Bild programmgesteuert in C#

Sie müssen die folgenden Schritte ausführen, um ein SVG-Bild in C# zu drehen:

  1. Laden Sie die SVG-Eingabedatei mit der Klasse SVGDocument.
  2. Erwähnen Sie den Winkel für die Rotation und stellen Sie die Rotationstransformation ein.
  3. Grafikelement anhängen.
  4. Schreiben Sie das gedrehte SVG-Ausgabebild mit der Methode Save.

Der folgende Code erklärt, wie Sie ein SVG-Bild mit eingebettetem HTML-Inhalt programmgesteuert mit C# drehen:

// Öffnen Sie das SVG-Dokument
using var document = new SVGDocument("example.svg");

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

if (svg == null)
    return;

// Grafisches Element g erstellen;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Rotationstransformation einstellen 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Kopieren Sie Kinder aus dem SVG-Element in das G-Element
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Kinder aus SVG entfernen
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// G-Element an SVG-Element anhängen
document.RootElement.AppendChild(g);

// Geändertes Dokument speichern
document.Save("roatedexample.svg");

Erhalten Sie eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz anfordern, um die API in vollem Umfang zu testen.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie ein SVG-Bild programmgesteuert in C# drehen. Darüber hinaus können Sie den Abschnitt Dokumentation besuchen, um weitere Funktionen der API kennenzulernen. Bei Unklarheiten können Sie sich gerne an uns im Forum wenden.

Siehe auch