¿Cómo bloquear la escala uniforme de un lienzo de texto usando Fabric.js?

En este artículo, vamos a ver cómo bloquear la escala uniforme de un texto similar a un lienzo usando FabricJS. El lienzo significa que el texto escrito es móvil, giratorio, de tamaño variable y se puede estirar. Pero en este artículo, bloquearemos la escala uniforme para que no se pueda escalar solo vertical u horizontalmente, sino en ambas direcciones manteniendo la relación de aspecto predeterminada. Además, el texto en sí no se puede editar como un cuadro de texto.
Enfoque: para que sea posible, vamos a utilizar una biblioteca de JavaScript llamada FabricJS. Después de importar la biblioteca usando CDN, crearemos un bloque de lienzo en la etiqueta del cuerpo que contendrá nuestro texto. Después de esto, inicializaremos las instancias de Canvas y Text proporcionadas por FabricJS y usaremos el lockUniScalingpropiedad para bloquear la escala uniforme y representar el lienzo en el texto como se indica en el ejemplo a continuación.
 

Sintaxis:  

 fabric.Text(text, lockUniScaling: boolean); 

Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:  

  • texto: Especifica el texto a escribir.
  • lockUniScaling: Especifica si habilitar o deshabilitar el bloqueo de escalado uniforme, deshabilitado por defecto.

Programa: podemos usar FabricJS para bloquear la escala uniforme de un texto similar a un lienzo como se indica a continuación. 

html

<!DOCTYPE html>
<html>
 
<head>
    <title>
        How to lock uniform scaling of a
        text canvas using Fabric.js?
    </title>
 
    <!-- Loading the FabricJS library -->
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js">
    </script>
</head>
 
<body>
    <canvas id="canvas" width="600" height="200"
        style="border:1px solid #000000;">
    </canvas>
 
    <script>
 
        // Create a new instance of Canvas
        var canvas = new fabric.Canvas("canvas");
 
        // Create a new Text instance
        var text = new fabric.Text('GeeksforGeeks', {
            lockUniScaling: true
        });
 
        // Render the text on Canvas
        canvas.add(text);
    </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 *