Ruota immagine SVG C#

I file SVG definiscono la grafica in formato XML. Possono essere ridimensionati o stampati in qualsiasi dimensione senza alterare la qualità dell’immagine. In alcuni casi, potrebbe essere necessario ruotare un’immagine SVG. Di conseguenza, questo articolo illustra come ruotare un’immagine SVG a livello di codice in C#.

Rotazione immagine SVG C# – Installazione API

Aspose.SVG per .NET supporta il lavoro con i file SVG. È possibile modificare, aggiornare o creare immagini SVG dalle applicazioni basate su .NET Framework. Scarica semplicemente i file DLL di riferimento dalla pagina Download o esegui il comando di installazione di NuGet di seguito:

PM> Install-Package Aspose.SVG

Come ruotare il file immagine SVG a livello di codice in C#

È possibile ruotare un file immagine SVG con i seguenti passaggi:

  1. Apri il file SVG di input e crea un elemento grafico.
  2. Imposta la trasformazione di rotazione e specifica il grado di rotazione.
  3. Aggiungi l’elemento grafico.
  4. Salva l’immagine SVG ruotata.

Ruota un’immagine SVG a livello di codice in C#

È necessario seguire i passaggi seguenti per ruotare un’immagine SVG in C#:

  1. Carica il file SVG di input con la classe SVGDocument.
  2. Indicare l’angolo di rotazione e impostare la trasformazione di rotazione.
  3. Aggiungi l’elemento grafico.
  4. Scrivi l’immagine SVG ruotata di output usando il metodo Salva.

Il codice seguente spiega come ruotare un’immagine SVG con contenuto HTML incorporato a livello di codice utilizzando C#:

// Apri il documento SVG
using var document = new SVGDocument("example.svg");

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

if (svg == null)
    return;

// Crea elemento grafico g;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Imposta la trasformazione della rotazione 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Copia i bambini dall'elemento svg all'elemento g
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Rimuovi i bambini da svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Aggiungi il gel all'elemento svg
document.RootElement.AppendChild(g);

// Salva il documento modificato
document.Save("roatedexample.svg");

Ottieni la licenza API gratuita

Puoi richiedere una licenza temporanea gratuita per testare l’API nella sua piena capacità.

Conclusione

In questo articolo, hai imparato come ruotare un’immagine SVG a livello di codice in C#. Inoltre, puoi visitare la sezione documentazione per conoscere altre funzionalità dell’API. In caso di ambiguità, non esitare a contattarci al forum.

Guarda anche