Otočit obrázek SVG C#

Soubory SVG definují grafiku ve formátu XML. Mohou být zmenšeny nebo vytištěny v jakékoli velikosti, aniž by byla narušena kvalita obrazu. V některých případech může být nutné otočit obrázek SVG. V souladu s tím tento článek popisuje, jak otočit obrázek SVG programově v C#.

C# SVG Image Rotation – Instalace API

Aspose.SVG for .NET podporuje práci se soubory SVG. Obrázky SVG můžete upravovat, aktualizovat nebo vytvářet z aplikací založených na .NET Framework. Jednoduše si stáhněte referenční soubory DLL ze stránky Stahování nebo spusťte níže uvedený instalační příkaz NuGet:

PM> Install-Package Aspose.SVG

Jak programově otočit obrazový soubor SVG v C#

Soubor obrázku SVG můžete otočit pomocí následujících kroků:

  1. Otevřete vstupní soubor SVG a vytvořte grafický prvek.
  2. Nastavte transformaci otočení a určete stupeň otočení.
  3. Připojte grafický prvek.
  4. Uložte otočený obrázek SVG.

Otočit obrázek SVG programově v C#

Chcete-li otočit obrázek SVG v C#, musíte provést následující kroky:

  1. Načtěte vstupní soubor SVG s třídou SVGDocument.
  2. Uveďte úhel pro rotaci a nastavte transformaci rotace.
  3. Připojte grafický prvek.
  4. Zapište výstupní otočený obrázek SVG pomocí metody Save.

Níže uvedený kód vysvětluje, jak otočit obrázek SVG s vloženým obsahem HTML programově pomocí C#:

// Otevřete dokument SVG
using var document = new SVGDocument("example.svg");

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

if (svg == null)
    return;

// Vytvořte grafický prvek g;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Nastavit transformaci otočení 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Zkopírujte děti z prvku svg do prvku g
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Odebrat děti ze svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Připojit g elment k svg elment
document.RootElement.AppendChild(g);

// Uložit upravený dokument
document.Save("roatedexample.svg");

Získejte bezplatnou licenci API

Můžete požádat o bezplatnou dočasnou licenci pro testování plné kapacity API.

Závěr

V tomto článku jste se naučili, jak otočit obrázek SVG programově v C#. Kromě toho můžete navštívit sekci dokumentace, kde se dozvíte další funkce API. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.

Viz také