The CanvasRenderingContext2D.save() method of the Canvas 2D API saves the entire state of the canvas by pushing the current state onto a stack.
void ctx.save();
The drawing state that gets saved onto a stack consists of:
strokeStyle, fillStyle, globalAlpha, lineWidth, lineCap, lineJoin, miterLimit, lineDashOffset, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor, globalCompositeOperation, font, textAlign, textBaseline, direction, imageSmoothingEnabled.save methodThis is just a simple code snippet which uses the save method to save the default state, so that you are able to draw a rect with the default settings later.
<canvas id="canvas"></canvas>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.save(); // save the default state
ctx.fillStyle = 'green';
ctx.fillRect(10, 10, 100, 100);
ctx.restore(); // restore to the default state
ctx.fillRect(150, 75, 100, 100);
Edit the code below and see your changes update live in the canvas:
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of 'CanvasRenderingContext2D.save' in that specification. | Living Standard |
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
CanvasRenderingContext2D.CanvasRenderingContext2D.restore()
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/save