Tela.js | Propiedad Ellipse lockUniScaling

En este artículo, vamos a ver cómo bloquear la escala no uniforme 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.

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 bloquearemos la escala no uniforme de la elipse del lienzo usando la propiedad lockUniScaling y representaremos la elipse en el lienzo como se muestra en el siguiente ejemplo.

Sintaxis:

fabric.Ellipse({
    rx: number,
    ry: number,
    lockUniScaling: boolean
}); 

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.
  • lockUniScaling: este parámetro define si bloquear o no el escalado no uniforme.

Ejemplo: este ejemplo usa FabricJS para bloquear la escala no uniforme de una elipse de lienzo.

<!DOCTYPE html>
<html>
  
<head>
    <title> 
        Lock non-uniform scaling of a canvas 
        ellipse using FabricJS
    </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>
            lock non-uniform scaling 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,
            lockUniScaling: true
        });
  
        // Render the Ellipse in canvas
        canvas.add(ellipse);
    </script>
</body>
  
</html>                   

Producción:

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *