Salvar estados
Podemos guardar estados y recuperarlos. con estados me refiero a colores y trazos por ejemplo.
save();
Salva.
restore();
Recupera.
Ejemplos:
// Configuraciones básicas.
ctx.lineWith = 10;
ctx.strokeStyle = "red";
ctx.fillStyle = "yellow";
ctx.fillRect(50, 50, 100, 100);
ctx.strokeRect(50, 50, 100, 100);
ctx.save();
ctx.strokeStyle = "black";
ctx.fillStyle = "white";
ctx.fillRect(200, 50, 100, 100);
ctx.strokeRect(200, 50, 100, 100);
ctx.restore();
ctx.fillRect(350, 50, 100, 100);
ctx.strokeRect(350, 50, 100, 100);
Pinta de rojo y amarillo, lo salvamos con save(); modificamos la configuración y luego recuperamos con restore(); .