
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
How to save and restore the HTML5 Canvas states?
HTML5 canvas provides two important methods to save and restore the canvas states.
Canvas states are stored on a stack every time the save method is called, and the last saved state is returned from the stack every time the restore method is called.
Sr.No. | Method and Description |
---|---|
1 | save() This method pushes the current state onto the stack.. |
2 | restore() This method pops the top state on the stack, restoring the context to that state. |
Example
You can try to run the following code to save and restore HTML5 Canvas −
<!DOCTYPE HTML> <html> <head> <style> #test { width: 100px; height:100px; margin: 0px auto; } </style> <script> function drawShape(){ // get the canvas element using the DOM var canvas = document.getElementById('mycanvas'); // Make sure we don't execute when canvas isn't supported if (canvas.getContext){ // use getContext to use the canvas for drawing var ctx = canvas.getContext('2d'); // draw a rectangle with default settings ctx.fillRect(0,0,150,150); // Save the default state ctx.save(); // Make changes to the settings ctx.fillStyle = '#66FFFF' ctx.fillRect( 15,15,120,120); // Save the current state ctx.save(); // Make the new changes to the settings ctx.fillStyle = '#993333' ctx.globalAlpha = 0.5; ctx.fillRect(30,30,90,90); // Restore previous state ctx.restore(); // Draw a rectangle with restored settings ctx.fillRect(45,45,60,60); // Restore original state ctx.restore(); // Draw a rectangle with restored settings ctx.fillRect(40,40,90,90); } else { alert('You need Safari or Firefox 1.5+ to see this demo.'); } } </script> </head> <body id = "test" onload = "drawShape();"> <canvas id = "mycanvas"></canvas> </body> </html>
- Related Articles
- What are save and restore methods in HTML5 Canvas?
- How to save HTML5 canvas data to file?
- How to save canvas data to file in HTML5?
- How to center canvas in HTML5?
- How to handle mousedown and mouseup with HTML5 Canvas
- How to copy the content of one HTML5 Canvas to another Canvas locally?
- How to draw lines using HTML5 Canvas?
- How to use images with HTML5 canvas?
- How to draw grid using HTML5 and canvas or SVG?
- How to save a canvas as PNG in Selenium?
- How to detect point on canvas after canvas rotation in HTML5
- HTML5 Canvas to PNG File
- HTML5 Canvas fit to window
- Translating HTML5 canvas
- HTML5 Canvas distorted

Advertisements