我正在尝试创建一个在Canvas标签中绘制矩形的简单应用程序. Canvas将Canvas调整到全屏,但是当我调整视口大小时,Canvas会清除.我试图阻止它清除,只是保持内部的内容.有任何想法吗?
http://mediajux.com/experiments/canvas/drawing/
谢谢!
/* * This is the primary class used for the application * @author Alvin Crespo */ var app = (function(){ var domBod = document.body; var canvas = null; var canvasWidth = null; var canvasHeight = null; return { //Runs after the DOM has achieved an onreadystatechange of "complete" initApplication: function() { //setup envrionment variables canvas = document.getElementById('canvas') || null; //we need to resize the canvas at the start of the app to be the full window this.windowResized(); //only set the canvas height and width if it is not false/null if(canvas) { canvasWidth = canvas.offsetWidth; canvasHeight = canvas.offsetHeight; } //add window events window.onresize = this.windowResized; circles.canvas = canvas; circles.canvasWidth = canvasWidth; circles.canvasHeight = canvasHeight; circles.generateCircles(10); setInterval(function(){ circles.animateCircles(); },50); },/** * Executes Resizing procedures on the canvas element */ windowResized: function() { (this.domBod === null) ? 'true' : 'false'; try{ console.log(canvas); canvas.setAttribute('width',document.body.clientWidth); canvas.setAttribute('height',document.body.clientHeight); }catch(e) { console.log(e.name + " :: " + e.message); } },/** * Returns the canvas element * @returns canvas */ getCanvas: function() { return canvas; } }; })();
解决方法
我相信,当监听器触发时,您已经实现了屏幕调整大小并重新绘制画布内容的监听器.