Máscaras de dibujo
En el canvas se puede recortar regiones de cualquier forma y tamaño, de manera que los dibujos posteriores solo afecten a esa zona. De esta manera podemos por ejemplo borrar una parte de una imagen o dibujar sin modificar otras zonas del canvas. Hemos creado una máscara o capa de dibujo.
La forma de usar este método sigue el siguiente patrón:
- creamos una figura cualquiera (en el ejemplo un triángulo),
- aplicamos el método clip(), que no usa argumentos, y a partir de ese momento cualquier acción sobre el canvas queda reducida a ese área, al triángulo en este ejemplo.
En este ejemplo se crea el triángulo (altura 100 y base 100), luego uso el método clip() para enmascarar el canvas con esa forma, luego dibujo un rectángulo (de alto 50 y ancho 200), pero solo se verá la parte del rectángulo dentro del area recortada, dentro de la máscara.
Borrado en el canvas
El canvas puede borrarse total o parcialmente usando el método clearRect(). Este método borra un área rectangular del canvas, como argumentos usa las coordenadas de la esquina superior izquierda del retángulo, el ancho y el alto. Igual que si se dibuja un rectángulo.
Si se quiere borrar un área con forma no rectangular puedes usar el enmascaramiento con el método clip(). Para poder seguir dibujando en todo el canvas debes eliminar la máscara creada con clip() para lo cual usa los métodos save() y restore(). Con el primero guardas el contexto del dibujo antes de crear la máscara y con el segundo lo recuperas después de haber borrado.