En este artículo, veremos cómo agregar un desplazamiento de trazo al 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, agregaremos un desplazamiento de trazo. 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 crearemos un trazo usando la propiedad de trazo , y luego usaremos la propiedad strokeDashOffset para agregar un desplazamiento de trazo y representar el lienzo en el texto como se muestra en el siguiente ejemplo.
Sintaxis:
fabric.text( text: string, strokeDashOffset: number, stroke: string );
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- texto: Este parámetro especifica el texto.
- strokeDashOffset: este parámetro define la cantidad de desplazamiento del trazo.
- trazo: este parámetro define el color del trazo.
Ejemplo: este ejemplo usa FabricJS para agregar desplazamiento de trazo al lienzo de texto como se indica a continuación.
HTML
<!DOCTYPE html> <html> <head> <title> Fabric.js | Text strokeDashOffset Property </title> <!-- 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 style="color: green;">GeeksforGeeks</h1> <b> Add stroke offset to canvas-like text with JavaScript </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', { strokeDashOffset: 10, stroke: 'red' }); // Render the text on Canvas canvas.add(text); </script> </center> </body> </html>
Producción: