Rotera SVG Image C#

SVG-filer definierar grafiken i XML-format. De kan skalas eller skrivas ut i valfri storlek utan att störa bildens kvalitet. I vissa fall kan du behöva rotera en SVG-bild. Följaktligen täcker den här artikeln hur man roterar en SVG-bild programmatiskt i C#.

C# SVG Image Rotation – API-installation

Aspose.SVG for .NET stöder arbete med SVG-filer. Du kan redigera, uppdatera eller skapa SVG-bilder från dina .NET Framework-baserade applikationer. Ladda bara ner referens-DLL-filerna från sidan Nedladdningar eller kör installationskommandot för NuGet nedan:

PM> Install-Package Aspose.SVG

Hur man roterar SVG-bildfilen programmatiskt i C#

Du kan rotera en SVG-bildfil med följande steg:

  1. Öppna SVG-inmatningsfilen och skapa ett grafiskt element.
  2. Ställ in rotationstransformation och ange graden för rotation.
  3. Lägg till det grafiska elementet.
  4. Spara den roterade SVG-bilden.

Rotera en SVG-bild programmatiskt i C#

Du måste följa stegen nedan för att rotera en SVG-bild i C#:

  1. Ladda in SVG-filen med klassen SVGDocument.
  2. Nämn vinkeln för rotation och ställ in rotationstransformation.
  3. Lägg till det grafiska elementet.
  4. Skriv den utgående roterade SVG-bilden med metoden Spara.

Koden nedan förklarar hur man roterar en SVG-bild med inbäddat HTML-innehåll programmatiskt med C#:

// Öppna SVG-dokumentet
using var document = new SVGDocument("example.svg");

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

if (svg == null)
    return;

// Skapa grafiskt element g;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Ställ in rotera transformation 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Kopiera barn från svg-element till g-element
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Ta bort barn från svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Lägg till g elment till svg elment
document.RootElement.AppendChild(g);

// Spara ändrat dokument
document.Save("roatedexample.svg");

Få gratis API-licens

Du kan begära en gratis temporär licens för att testa API:et till dess fulla kapacitet.

Slutsats

I den här artikeln har du lärt dig hur du roterar en SVG-bild programmatiskt i C#. Dessutom kan du besöka avsnittet dokumentation för att lära dig andra funktioner i API:t. I händelse av oklarheter, var god kontakta oss på forum.

Se även