En este artículo, vamos a crear un cuadro de texto de lienzo con Fabric.js. El lienzo significa que el texto escrito en el cuadro de texto se puede mover y se puede estirar según los requisitos. Además, el texto en sí también se puede editar en cualquier otra cosa porque es un cuadro de texto.
Creación de estructura: para que esto sea posible, utilizaremos una biblioteca de JavaScript llamada FabricJS y crearemos una estructura de lienzo básica.
- Incluyendo la biblioteca FabricJS: Importando la biblioteca usando CDN
<script src=”https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js”></script>
- Código HTML para crear una estructura de lienzo: crearemos un bloque de lienzo en la etiqueta del cuerpo que contendrá nuestro cuadro de texto. Después de esto, inicializaremos las instancias de Canvas y Textbox proporcionadas por FabricJS y renderizaremos Canvas en Textbox como se muestra en el siguiente ejemplo.
HTML
<!DOCTYPE html> <html> <head> </head> <body> <center> <h1>GeeksforGeeks</h1> <b>Creating canvas-type textbox</b> <canvas id="canvas" width="600" height="200"> </canvas> </center> </body> </html>
Estructura de diseño: en esta sección, diseñaremos la estructura creada previamente y también agregaremos la funcionalidad para mover el texto del lienzo alrededor del lienzo usando JavaScript.
- Código CSS para diseñar la estructura:
HTML
<style> body { text-align: center; } h1 { color: green; } canvas { border: 2px solid green; } </style>
- Código JavaScript: En esta sección podemos colocar el texto dentro del lienzo.
Sintaxis:
fabric.Textbox('Sample Text', { width: 100 });
Javascript
<script> // Create a new instance of Canvas var canvas = new fabric.Canvas("canvas"); // Create a new Textbox instance var text = new fabric.Textbox('A Computer Science Portal', { width: 450 }); // Render the Textbox on Canvas canvas.add(text); </script>
- Programa: podemos usar FabricJS para crear un cuadro de texto similar a un lienzo editable simple como se indica a continuación:
HTML
<!DOCTYPE html> <html> <head> <!-- FabricJS CDN --> <script src= "https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js"> </script> <style> body { text-align: center; } h1 { color: green; } canvas { border: 2px solid green; } </style> </head> <body> <center> <h1>GeeksforGeeks</h1> <b>Creating canvas-type textbox</b> <canvas id="canvas" width="600" height="200"> </canvas> </center> <script> // Create a new instance of Canvas var canvas = new fabric.Canvas("canvas"); // Create a new Textbox instance var text = new fabric.Textbox('A Computer Science Portal', { width: 450 }); // Render the Textbox on Canvas canvas.add(text); </script> </body> </html>
- Producción: