Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
En SVG, les transformations sont utilisées pour modifier la position, la taille, l’orientation et l’inclinaison des éléments SVG dans le canevas SVG. Les objets SVG peuvent être transformés à l’aide des propriétés de l’attribut de transformation: translation, scale, rotate, skewX, skewY et matrix. À l’aide de la bibliothèque Aspose.SVG for .NET, vous pouvez effectuer ces transformations par programme. Dans ce chapitre, vous trouverez un aperçu général de la façon dont vous pouvez travailler avec des transformations à l’aide d’Aspose.SVG.
Le chapitre actuel décrit les transformations SVG populaires, ainsi que des exemples C# pour les scénarios de transformation les plus courants.
transform ainsi que d’une matrice de transformation matrix(a,b,c,d,e,f).transform. Les propriétés d’attribut de transformation en SVG vous permettent de manipuler des éléments à l’aide des fonctions de transformation suivantes:transform. Seules les 6 premières valeurs de la matrice peuvent être spécifiées pour définir la translation, la mise à l’échelle, la rotation et l’inclinaison.Ces deux méthodes offrent différents niveaux de complexité et de précision, l’attribut transform étant plus facile pour les transformations simples tandis que la matrice de transformation permet un meilleur contrôle sur le processus de transformation. Examinons ces méthodes à l’aide d’exemples C# pour une transformation SVG, telle que la traduction SVG.
L’extrait de code C# suivant montre comment créer un élément SVG <rect>, définir ses attributs et appliquer une transformation de traduction à l’aide de l’attribut transform. La transformation déplace le rectangle de 150 unités vers la droite et de 50 unités vers le bas.
RootElement pointe vers l’élément racine <svg> du document.<rect> avec des attributs et ajoutez-le à l’élément <svg>:name, value) pour définir les attributs spécifiant la position, la taille, le remplissage et la transformation. L’attribut transform est défini sur l’élément <rect> en utilisant la valeur "translate(150, 50)". Cela applique une transformation de translation qui déplace le rectangle de 150 unités vers la droite et de 50 unités vers le bas.rectElement à svgElement, vous pouvez utiliser la méthode
AppendChild().1using Aspose.Svg;
2using System.IO; 1// Translate an SVG rectangle using the transform attribute in C#
2
3// Create a new SVG document
4using (SVGDocument document = new SVGDocument())
5{
6 SVGSVGElement svgElement = document.RootElement;
7
8 // Create a <rect> element and set its attributes
9 SVGRectElement rectElement = (SVGRectElement)document.CreateElementNS("http://www.w3.org/2000/svg", "rect");
10 rectElement.X.BaseVal.Value = 50;
11 rectElement.Y.BaseVal.Value = 50;
12 rectElement.Width.BaseVal.Value = 100;
13 rectElement.Height.BaseVal.Value = 100;
14 rectElement.SetAttribute("fill", "blue");
15
16 // Apply translate() function to the rectangle
17 rectElement.SetAttribute("transform", "translate(150, 50)");
18
19 // Append the <rect> element to the <svg> element
20 svgElement.AppendChild(rectElement);
21
22 // Save the document
23 document.Save(Path.Combine(OutputDir, "translate.svg"));
24}Ici, nous allons examiner l’exemple C# comme celui ci-dessus : créer un élément SVG <rect>, définir ses attributs et implémenter la traduction à l’aide d’une matrice de transformation. Examinons de plus près le code C# pour implémenter la matrice de transformation.
<rect>. Le CTM représente les transformations cumulatives appliquées à l’élément et comprend des informations sur la translation, la rotation, la mise à l’échelle et l’inclinaison qui peuvent être appliquées à l’élément.transformAttribute – une représentation sous forme de chaîne d’une matrice de transformation 2D en utilisant les valeurs du transformationMatrix modifié. La notation matricielle est matrix(a, b, c, d, e, f).transform de l’élément <rect> à l’aide de la chaîne transformAttribute.1using Aspose.Svg;
2using System.IO; 1// Translate an SVG element using a transformation matrix in C#
2
3// Create a new SVG document
4using (SVGDocument document = new SVGDocument())
5{
6 SVGSVGElement svgElement = document.RootElement;
7
8 // Create a <rect> element and set its attributes
9 SVGRectElement rectElement = (SVGRectElement)document.CreateElementNS("http://www.w3.org/2000/svg", "rect");
10 rectElement.X.BaseVal.Value = 150;
11 rectElement.Y.BaseVal.Value = 50;
12 rectElement.Width.BaseVal.Value = 100;
13 rectElement.Height.BaseVal.Value = 100;
14 rectElement.SetAttribute("fill", "blue");
15 svgElement.AppendChild(rectElement);
16
17 // Get the current transformation matrix associated with the rectElement
18 SVGMatrix transformationMatrix = rectElement.GetCTM();
19 transformationMatrix = transformationMatrix.Translate(150, 50);
20
21 // Apply the transformation matrix to the rectElement
22 string transformAttribute = "matrix(" + transformationMatrix.A + "," + transformationMatrix.B + ","
23 + transformationMatrix.C + "," + transformationMatrix.D + "," + transformationMatrix.E + ","
24 + transformationMatrix.F + ")";
25 rectElement.SetAttribute("transform", transformAttribute);
26
27 // Save the document
28 document.Save(Path.Combine(OutputDir, "translation-matrix.svg"));
29}Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.