En este artículo, vamos a ver cómo bloquear la escala no uniforme de una polilínea de lienzo usando FabricJS para que se mantenga la relación de aspecto del objeto. La polilínea de lienzo significa que la polilínea es móvil y se puede estirar según los requisitos. Además, la polilínea se puede personalizar en lo que respecta al color del trazo inicial, la altura, el ancho, el color de relleno o el ancho del trazo.
Para hacerlo posible, vamos a utilizar una biblioteca de JavaScript llamada FabricJS . Después de importar la biblioteca, crearemos un bloque de lienzo en la etiqueta del cuerpo que contendrá la polilínea. Después de esto, inicializaremos las instancias de Canvas y la polilínea proporcionadas por FabricJS y bloquearemos la escala no uniforme de la polilínea del lienzo usando la propiedad lockUniScaling y representaremos la polilínea en el lienzo como se muestra en el siguiente ejemplo.
Sintaxis:
var polyline = new fabric.Polyline(Points, { lockUniScaling: true });
Parámetros: esta propiedad acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- puntos: Contiene las coordenadas inicial y final de todos los puntos de la polilínea.
- lockUniScaling: Especifica si bloquear o no el escalado no uniforme.
Ejemplo:
HTML
<!DOCTYPE html> <html> <head> <title> Fabric.js | Polyline lockUniScaling Property </title> <!-- Loading the FabricJS library --> <script src= "https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js"> </script> </head> <body> <div style="text-align: center;width: 600px;"> <h1 style="color: green;"> GeeksforGeeks </h1> <b> Fabric.js | Polyline lockUniScaling Property </b> </div> <canvas id="canvas" width="600" height="200" style="border:1px solid #000000;"> </canvas> <script> // Initiate a Canvas instance var canvas = new fabric.Canvas("canvas"); // Initiate a polyline instance var polyline = new fabric.Polyline([ { x: 200, y: 10 }, {x: 250, y: 50 }, { x: 250, y: 180 }, { x: 150, y: 180 }, { x: 150, y: 50 }, { x: 200, y: 10 }], { lockUniScaling: true }); // Render the polyline in canvas canvas.add(polyline); </script> </body> </html>
Producción:
Publicación traducida automáticamente
Artículo escrito por pratapworkmail y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA