---
title: CanvasRenderingContext2D.save()
slug: Web/API/CanvasRenderingContext2D/save
tags:
- API
- Canvas
- CanvasRenderingContext2D
- Referencia
- metodo
translation_of: Web/API/CanvasRenderingContext2D/save
---
{{APIRef}}
El método CanvasRenderingContext2D
.save()
del API Canvas 2D guarda el estado completo del canvas añadiendo el estado actual a una pila.
El estado del dibujo
El estado del dibujo que se almacena en una pila consiste en los siguientes elementos:
- La matriz de transformación actual.
- La región de recorte actual.
- La lista de punteado actual.
- Los valores actuales de los siguientes atributos: {{domxref("CanvasRenderingContext2D.strokeStyle", "strokeStyle")}}, {{domxref("CanvasRenderingContext2D.fillStyle", "fillStyle")}}, {{domxref("CanvasRenderingContext2D.globalAlpha", "globalAlpha")}}, {{domxref("CanvasRenderingContext2D.lineWidth", "lineWidth")}}, {{domxref("CanvasRenderingContext2D.lineCap", "lineCap")}}, {{domxref("CanvasRenderingContext2D.lineJoin", "lineJoin")}}, {{domxref("CanvasRenderingContext2D.miterLimit", "miterLimit")}}, {{domxref("CanvasRenderingContext2D.lineDashOffset", "lineDashOffset")}}, {{domxref("CanvasRenderingContext2D.shadowOffsetX", "shadowOffsetX")}}, {{domxref("CanvasRenderingContext2D.shadowOffsetY", "shadowOffsetY")}}, {{domxref("CanvasRenderingContext2D.shadowBlur", "shadowBlur")}}, {{domxref("CanvasRenderingContext2D.shadowColor", "shadowColor")}}, {{domxref("CanvasRenderingContext2D.globalCompositeOperation", "globalCompositeOperation")}}, {{domxref("CanvasRenderingContext2D.font", "font")}}, {{domxref("CanvasRenderingContext2D.textAlign", "textAlign")}}, {{domxref("CanvasRenderingContext2D.textBaseline", "textBaseline")}}, {{domxref("CanvasRenderingContext2D.direction", "direction")}}, {{domxref("CanvasRenderingContext2D.imageSmoothingEnabled", "imageSmoothingEnabled")}}.
Sintaxis
void ctx.save();
Ejemplos
Guardando el estado del dibujo
Este ejemplo usa el método save()
para guardar el estado por defecto y el método restore()
para restaurarlo luego, de tal manera que luego se puede dibujar el segundo rectángulo con el estado por defecto.
HTML
<canvas id="canvas"></canvas>
JavaScript
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
// Guardar el estado por defecto
ctx.save();
ctx.fillStyle = 'green';
ctx.fillRect(10, 10, 100, 100);
// Restaurar el estado por defecto
ctx.restore();
ctx.fillRect(150, 40, 100, 100);
Resultado
{{ EmbedLiveSample('Saving_the_drawing_state', 700, 180) }}
Especificaciones
Especificación |
Estado |
Comentarios |
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-save", "CanvasRenderingContext2D.save")}} |
{{Spec2('HTML WHATWG')}} |
|
Compatibilidad con exploradores
{{Compat("api.CanvasRenderingContext2D.save")}}
Véase también
- La interfaz donde se define este método: {{domxref("CanvasRenderingContext2D")}}
- {{domxref("CanvasRenderingContext2D.restore()")}}