En este artículo, vamos a ver cómo establecer el límite de escala mínimo permitido de una elipse de lienzo usando FabricJS para que se mantenga la relación de aspecto del objeto. 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.
Enfoque: 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 límite de escala mínimo permitido de la elipse del lienzo usando la propiedad minScaleLimit y representaremos la elipse en el lienzo como se muestra en el siguiente ejemplo.
Sintaxis:
fabric.Ellipse({ rx: number, ry: number, minScaleLimit: number });
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- rx: Especifica el radio horizontal.
- ry: Especifica el radio vertical.
- minScaleLimit: Especifica el límite mínimo de escala.
Ejemplo: este ejemplo usa FabricJS para establecer el límite de escala mínimo permitido de una elipse de lienzo.
<!DOCTYPE html> <html> <head> <title> Fabric.js | Ellipse minScaleLimit Property </title> <!-- FabricJS CDN --> <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> set minimum allowed scale limit of a canvas ellipse using FabricJS </b> </div> <div style="text-align: center;"> <canvas id="canvas" width="600" height="200" style="border:1px solid #000000;"> </canvas> </div> <script> // Initiate a Canvas instance var canvas = new fabric.Canvas("canvas"); // Initiate a Ellipse instance var ellipse = new fabric.Ellipse({ rx: 80, ry: 40, minScaleLimit: 1 }); // Render the Ellipse in canvas canvas.add(ellipse); </script> </body> </html>
Producción: