Borrar lienzo en JavaScript

Abid Ullah 15 febrero 2024
  1. Borrar el lienzo en JavaScript
  2. Creando Canvas usando JavaScript en HTML
Borrar lienzo en JavaScript

Usamos lienzo para dibujar gráficos. Proporciona múltiples métodos para dibujar, como círculos, cuadros, textos, agregar imágenes, etc. Necesitamos borrarlo y dibujar sobre él cuando usamos el lienzo.

Este artículo aborda cómo borrar un lienzo en JavaScript.

Borrar el lienzo en JavaScript

El elemento canvas nos ayuda a dibujar gráficos con la ayuda de JavaScript. El lienzo es solo un contenedor de gráficos y necesita JavaScript para dibujar los gráficos.

Podemos limpiar el lienzo usando el método clearRect() de JavaScript. El elemento canvas es compatible con todos los navegadores.

Solo tiene dos atributos: ancho y alto. Podemos personalizar el tamaño del lienzo usando las propiedades de ancho y alto de CSS.

Usamos un objeto de contexto de JavaScript que crea gráficos en el lienzo.

Creando Canvas usando JavaScript en HTML

Crearemos un lienzo con un color y tamaño específicos en el siguiente ejemplo.

Usamos la etiqueta canvas con el id canvsId y le dimos un tamaño personalizado al ancho y alto del lienzo. Usamos un script que crea un lienzo de color rojo, como se muestra en la salida.

Código:

<!DOCTYPE HTML>
<html>
  <head>
    <title>Creating a canvas</title>
  </head>
  <body>
    <canvas id="canvsId" width="680" height="420"></canvas>
    <script>
      let canvas = document.getElementById('canvsId');
      let context = canvas.getContext('2d');
      context.beginPath();
      context.moveTo(180, 90);
      context.bezierCurveTo(120, 80, 110, 170, 250, 170);
      context.bezierCurveTo(260, 190, 300, 160, 370, 140);
      context.bezierCurveTo(410, 140, 440, 130, 380, 110);
      context.bezierCurveTo(440, 50, 350, 40, 350, 50);
      context.bezierCurveTo(310, 10, 270, 30, 240, 40);
      context.bezierCurveTo(310, 10, 130, 15, 180, 90);
      context.closePath();
      context.lineWidth = 8;
      context.strokeStyle = 'red';
      context.stroke();
    </script>
  </body>
</html>

Producción:

Lienzo creado con JavaScript

Usaremos el clearRect() en JavaScript si queremos borrar este lienzo que creamos. Este código se agregará al código de ejemplo anterior.

Código:

const context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);

Usamos el código anterior para borrar el lienzo en el siguiente ejemplo. También creamos un botón llamado limpiar, y le asignamos una función que, al hacer clic, limpiará el lienzo.

El lienzo que creamos se borrará cuando ejecutemos el código y hagamos clic en el botón borrar.

Código completo:

<!DOCTYPE HTML>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      #button {
        position: absolute;
        top: 5px;
        left: 10px;
      }
      #button input {
        padding: 10px;
        display: block;
        margin-top: 5px;
      }
    </style>
  </head>
  <body data-rsssl=1>
    <canvas id="myCanvs" width="680" height="420"></canvas>
    <div id="button">
      <input type="button" id="clear" value="Clear">
    </div>
    <script>
      let canvas = document.getElementById('myCanvs');
      let context = canvas.getContext('2d');
      context.beginPath();
      context.moveTo(180, 90);
      context.bezierCurveTo(120, 80, 110, 170, 250, 170);
      context.bezierCurveTo(260, 190, 300, 160, 370, 140);
      context.bezierCurveTo(410, 140, 440, 130, 380, 110);
      context.bezierCurveTo(440, 50, 350, 40, 350, 50);
      context.bezierCurveTo(310, 10, 270, 30, 240, 40);
      context.bezierCurveTo(310, 10, 130, 15, 180, 90);
      context.closePath();
      context.lineWidth = 8;
      context.strokeStyle = 'red';
      context.stroke();
      document.getElementById('clear').addEventListener('click', function() {
          context.clearRect(0, 0, canvas.width, canvas.height);
        }, false);
    </script>
  </body>
</html>

Producción:

Botón Borrar utilizado para limpiar el lienzo

El lienzo se borra después de hacer clic en el botón

Como puede ver en las imágenes de salida, se borra el lienzo cuando hacemos clic en el botón borrar.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

Artículo relacionado - JavaScript Canvas