En este artículo, vamos a ver cómo configurar el patrón de guiones del borde de la elipse del lienzo usando FabricJS. El lienzo significa que la elipse es móvil y se puede estirar según los requisitos. Además, la elipse se puede personalizar en lo que respecta al color del trazo inicial, el color de relleno, el ancho del trazo o el radio.
Para hacerlo posible, vamos a utilizar una biblioteca de JavaScript llamada FabricJS. Después de importar la biblioteca mediante CDN, crearemos un bloque de lienzo en la etiqueta del cuerpo que contendrá nuestra elipse. Después de esto, inicializaremos las instancias de Canvas y Ellipse proporcionadas por FabricJS y estableceremos el patrón de guiones del borde de la elipse del lienzo usando la propiedad borderDashArray y representaremos la elipse en el lienzo como se muestra en el siguiente ejemplo.
Sintaxis:
fabric.Ellipse({ rx: number, ry: number, borderDashArray: array });
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- rx: Este parámetro define el radio horizontal.
- ry: Este parámetro define el radio vertical.
- borderDashArray: este parámetro define el patrón de guiones del borde.
Programa: este ejemplo usa FabricJS para establecer el patrón discontinuo del borde de una elipse similar a un lienzo como se indica a continuación. Tenga en cuenta que debe hacer clic en la elipse para ver el borde.
<!DOCTYPE html> <html> <head> <title> Fabric.js | Ellipse borderDashArray 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> <center> <h1 style="color: green;"> GeeksforGeeks </h1> <b> Set the dash pattern of border of canvas-type ellipse with JavaScript </b> <canvas id="canvas" width="600" height="200" style="border:1px solid #000000"> </canvas> </center> <script> // Initiate a Canvas instance var canvas = new fabric.Canvas("canvas"); // Initiate a Ellipse instance var ellipse = new fabric.Ellipse({ rx: 80, ry: 40, borderDashArray: [10] }); // Render the Ellipse in canvas canvas.add(ellipse); </script> </body> </html>
Producción: