Faire pivoter l'image SVG C#

Les fichiers SVG définissent les graphiques au format XML. Ils peuvent être mis à l’échelle ou imprimés à n’importe quelle taille sans altérer la qualité de l’image. Dans certains cas, vous devrez peut-être faire pivoter une image SVG. En conséquence, cet article explique comment faire pivoter une image SVG par programme en C#.

Rotation d’image SVG C# - Installation de l’API

Aspose.SVG pour .NET prend en charge l’utilisation de fichiers SVG. Vous pouvez modifier, mettre à jour ou créer des images SVG à partir de vos applications basées sur .NET Framework. Téléchargez simplement les fichiers DLL de référence à partir de la page Téléchargements ou exécutez la commande d’installation NuGet ci-dessous :

PM> Install-Package Aspose.SVG

Comment faire pivoter un fichier image SVG par programme en C

Vous pouvez faire pivoter un fichier image SVG en procédant comme suit :

  1. Ouvrez le fichier SVG d’entrée et créez un élément graphique.
  2. Définissez la transformation de rotation et spécifiez le degré de rotation.
  3. Ajoutez l’élément graphique.
  4. Enregistrez l’image SVG pivotée.

Faire pivoter une image SVG par programmation en C#

Vous devez suivre les étapes ci-dessous pour faire pivoter une image SVG en C# :

  1. Chargez le fichier SVG d’entrée avec la classe SVGDocument.
  2. Mentionnez l’angle de rotation et définissez la transformation de rotation.
  3. Ajoutez l’élément graphique.
  4. Écrivez l’image SVG de sortie pivotée à l’aide de la méthode Save.

Le code ci-dessous explique comment faire pivoter une image SVG avec du contenu HTML intégré par programmation à l’aide de C# :

// Ouvrir le document SVG
using var document = new SVGDocument("example.svg");

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

if (svg == null)
    return;

// Créer l'élément graphique g ;
var g = (SVGGElement)document.CreateElementNS("http://www.w3.org/2000/svg", "g");

// Définir la transformation de rotation 
g.SetAttribute("transform", $"rotate(45,{(bbox.X + bbox.Width) / 2f}, {(bbox.Y + bbox.Height) / 2f})");

// Copiez les enfants de l'élément svg à l'élément g
foreach (var childNode in svg.ChildNodes)
    g.AppendChild(childNode.CloneNode(true));
var child = svg.LastElementChild;

// Supprimer les enfants de svg
while (child != null)
{
    svg.RemoveChild(child);
    child = svg.LastElementChild;
}

// Ajouter l'élément g à l'élément svg
document.RootElement.AppendChild(g);

// Enregistrer le document modifié
document.Save("roatedexample.svg");

Obtenez une licence API gratuite

Vous pouvez demander une licence temporaire gratuite pour tester l’API dans toute sa capacité.

Conclusion

Dans cet article, vous avez appris à faire pivoter une image SVG par programmation en C#. De plus, vous pouvez visiter la section documentation pour découvrir d’autres fonctionnalités de l’API. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également