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 một ngăn xếp mỗi khi lưu phương thức đượ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 khôi phục phương thứ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 đoạn mã sau để tìm hiểu về các phương pháp lưu và khôi phục trong 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>