HTML5 canvas cung cấp hai phương pháp quan trọng để lưu và khôi phục trạng thái canvas.
Trạng thái canvas được lưu trữ trên ngăn xếp mỗi khi phương thức lưu được gọi và trạng thái đã lưu cuối cùng được trả lại từ ngăn xếp mỗi khi phương thức khôi phục được gọi.
| Sr.No. | Phương pháp và Mô tả |
|---|---|
| 1 | save () Phương thức này đẩy trạng thái hiện tại lên ngăn xếp .. |
| 2 | khôi phục () Phương thức này bật trạng thái trên cùng trên ngăn xếp, khôi phục ngữ cảnh về trạng thái đó. |
Ví dụ
Bạn có thể thử chạy mã sau để lưu và khôi phục 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>