Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
In SVG werden Transformationen verwendet, um die Position, Größe, Ausrichtung und Neigung von SVG-Elementen innerhalb der SVG-Zeichenfläche zu ändern. SVG-Objekte können mithilfe der Eigenschaften des Transformationsattributs transformiert werden: Übersetzen, Skalieren, Drehen, SkewX, SkewY und Matrix. Mit der Aspose.SVG for .NET-Bibliothek können Sie diese Transformationen programmgesteuert durchführen. In diesem Kapitel finden Sie einen allgemeinen Überblick darüber, wie Sie mit Aspose.SVG mit Transformationen arbeiten können.
Das aktuelle Kapitel beschreibt beliebte SVG-Transformationen sowie C#-Beispiele für die gängigsten Transformationsszenarien.
transform sowie einer Transformationsmatrix matrix(a,b,c,d,e,f).transform-Attributeigenschaften. Mit den Eigenschaften von Transformationsattributen in SVG können Sie Elemente mithilfe der folgenden Transformationsfunktionen bearbeiten:transform geändert werden. Nur die ersten 6 Werte der Matrix können angegeben werden, um Verschiebung, Skalierung, Drehung und Neigung festzulegen.Diese beiden Möglichkeiten bieten unterschiedliche Grade an Komplexität und Präzision, wobei das Attribut transform für einfache Transformationen einfacher ist, während die Transformationsmatrix eine bessere Kontrolle über den Transformationsprozess ermöglicht. Schauen wir uns diese Methoden anhand von C#-Beispielen für eine SVG-Transformation an, beispielsweise eine SVG-Übersetzung.
Der folgende C#-Codeausschnitt zeigt, wie man ein SVG-Element <rect> erstellt, seine Attribute festlegt und eine Übersetzungstransformation mithilfe des Attributs transform anwendet. Die Transformation verschiebt das Rechteck um 150 Einheiten nach rechts und 50 Einheiten nach unten.
RootElement verweist auf das Stammelement <svg> des Dokuments.<rect>-Element mit Attributen und fügen Sie es dem <svg>-Element hinzu:name, value) auf, um Attribute festzulegen, die Position, Größe, Füllung und Transformation angeben. Das Attribut transform wird auf das Element <rect> mit dem Wert translate(150, 50) gesetzt. Dabei wird eine Translationstransformation angewendet, die das Rechteck um 150 Einheiten nach rechts und 50 Einheiten nach unten verschiebt.rectElement zu svgElement hinzuzufügen, können Sie die Methode
AppendChild() verwenden.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}Hier sehen wir uns das C#-Beispiel wie oben an: Erstellen Sie ein SVG-Element <rect>, legen Sie seine Attribute fest und implementieren Sie die Übersetzung mithilfe einer Transformationsmatrix. Schauen wir uns den C#-Code zur Implementierung der Transformationsmatrix genauer an.
<rect> zugeordnet ist. Das CTM stellt die kumulativen Transformationen dar, die auf das Element angewendet werden, und enthält Informationen zu Translation, Rotation, Skalierung und Schrägstellung, die auf das Element angewendet werden können.transformAttribute – eine String-Darstellung einer 2D-Transformationsmatrix unter Verwendung der Werte aus der modifizierten transformationMatrix. Die Matrixschreibweise ist matrix(a, b, c, d, e, f).transform des Elements <rect> mithilfe der Zeichenfolge transformAttribute festzulegen.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.