En este artículo, veremos cómo bloquear la escala horizontal de un lienzo de texto 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 horizontal para que no se pueda escalar horizontalmente y la longitud del objeto Texto no se pueda cambiar. 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 el lockScalingXproperty para bloquear la escala horizontal y representar el lienzo en el texto como se muestra en el ejemplo a continuación.
Sintaxis:
fabric.Text(text, lockScalingX: 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.
- lockScalingX: Especifica si habilitar o deshabilitar el bloqueo de escalado horizontal, deshabilitado por defecto.
Ejemplo: podemos usar FabricJS para bloquear la escala horizontal de un texto similar a un lienzo como se indica a continuación.
html
<!DOCTYPE html> <html> <head> <title> lock horizontal scaling of a canvas-type text </title> <style> h1 { color: green; } </style> <!-- 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>GeeksforGeeks</h1> <b>lock scaling flip 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', { lockScalingX: true }); // Render the text on Canvas canvas.add(text); </script> </center> </body> </html>
Producción: