Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
En SVG, las transformaciones se utilizan para modificar la posición, el tamaño, la orientación y la inclinación de los elementos SVG dentro del lienzo SVG. Los objetos SVG se pueden transformar utilizando las propiedades del atributo de transformación: traducir, escalar, rotar, skewX, skewY y matriz. Usando Aspose.SVG para la biblioteca .NET, puede realizar estas transformaciones mediante programación. En este capítulo se ofrece una descripción general de cómo podría trabajar con transformaciones utilizando Aspose.SVG.
El capítulo actual describe transformaciones SVG populares, así como ejemplos de C# para los escenarios de transformación más comunes.
transform así como de una matriz de transformación matrix(a,b,c,d,e,f).transform. Las propiedades de atributos de transformación en SVG le permiten manipular elementos utilizando las siguientes funciones de transformación:transform. Solo se pueden especificar los primeros 6 valores de la matriz para establecer la traslación, el escalado, la rotación y la inclinación.Estas dos formas ofrecen diferentes niveles de complejidad y precisión, siendo el atributo transform más fácil para transformaciones simples, mientras que la matriz de transformación permite un mayor control sobre el proceso de transformación. Veamos estos métodos usando ejemplos de C# para una transformación SVG, como la traducción SVG.
El siguiente fragmento de código C# demuestra cómo crear un elemento SVG <rect>, establecer sus atributos y aplicar una transformación de traducción utilizando el atributo transform. La transformación mueve el rectángulo 150 unidades hacia la derecha y 50 unidades hacia abajo.1. Cree una instancia de la clase
SVGDocument. La propiedad RootElement apunta al elemento raíz <svg> del documento.
2. Cree un elemento <rect> con atributos y agréguelo al elemento <svg>:
- Puede utilizar el método CreateElementNS() para crear una instancia de la clase
SVGRectElement.
- Llame al método
SetAttribute(name, value) para establecer atributos que especifiquen la posición, el tamaño, el relleno y la transformación. El atributo transform se establece en el elemento <rect> usando el valor "translate(150, 50)". Esto aplica una transformación de traslación que mueve el rectángulo 150 unidades hacia la derecha y 50 unidades hacia abajo.
3. Para agregar rectElement a svgElement, puede usar el método
AppendChild().
4. Llame al método
Save() para guardar la imagen SVG resultante en un archivo local especificado por la ruta.
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}Aquí, veremos el ejemplo de C# como el anterior: crearemos un elemento SVG <rect>, estableceremos sus atributos e implementaremos la traducción usando una matriz de transformación. Echemos un vistazo más de cerca al código C# para implementar la matriz de transformación.
<rect>. El CTM representa las transformaciones acumulativas aplicadas al elemento e incluye información sobre traslación, rotación, escala y sesgo que se pueden aplicar al elemento.transformAttribute: una representación de cadena de una matriz de transformación 2D utilizando los valores de la transformationMatrix modificada. La notación matricial es matrix(a, b, c, d, e, f).transform del elemento <rect> usando la cadena 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}Puede descargar los ejemplos completos y los archivos de datos desde GitHub.
Encontrará información sobre la descarga desde GitHub y la ejecución de ejemplos en la sección Cómo ejecutar los ejemplos.
Para aprender a utilizar una matriz de transformación para rotar, escalar, traducir y sesgar gráficos SVG y considerar ejemplos de código SVG, consulte el artículo Matriz de transformación: ejemplos de código SVG.
Lea el artículo Transformación SVG para obtener más información y obtener ejemplos de código SVG para rotar, escalar, mover y sesgar gráficos SVG utilizando el atributo de transformación SVG.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.