En este artículo vamos a ver cómo bloquear el movimiento vertical de un lienzo de texto usando FabricJS. El lienzo significa que el texto escrito se puede mover, girar, cambiar de tamaño y se puede estirar según los requisitos, pero bloquearemos el movimiento vertical para que no se pueda mover hacia arriba o hacia abajo. Además, el texto en sí no se puede editar como un cuadro de texto.
Para hacerlo 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 la propiedad lockMovementY para bloquear el movimiento vertical y representar el Canvas en el Text como se muestra en el siguiente ejemplo.
Sintaxis:
fabric.Text(text, lockMovementY: 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.
- lockMovementX: Especifica si habilitar o deshabilitar el bloqueo de movimiento vertical, deshabilitado por defecto.
Programa: podemos usar FabricJS para bloquear el movimiento vertical del texto similar a un lienzo como se indica a continuación.
HTML
<!DOCTYPE html> <html> <head> <title> Lock vertical movement of a canvas-type text with JavaScript </title> <!-- Loading the FabricJS library --> <script src= "https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js"> </script> <style> h1 { color: green; } </style> </head> <body> <center> <h1>GeeksforGeeks</h1> <b>lock vertical movement of a canvas-type text</b> <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', { lockMovementY: true }); // Render the text on Canvas canvas.add(text); </script> </center> </body> </html>
Producción: