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>