如何删除以前的画布形状时,我再次调用画布
how to remove the previous canvas shape when i call the canvas again?
当我按下下一个按钮时,我用画布绘制一个随机大小的正方形我调用canvasarea()
函数,它绘制了一个随机大小的正方形,但我遇到了一个问题,因为之前的正方形还在画布上,还有之前的正方形,等等。解决方案是什么?
function canvasarea(){
var canvas = document.getElementById('square');
var context = canvas.getContext('2d');
context.beginPath();
var Size=getSize();
context.rect(10,10, 5*Size, 5*Size);
context.fillStyle = 'red';
context.fill();
context.lineWidth = 1;
context.strokeStyle = 'black';
context.stroke();
}
function getSize(){
var min = 30;
var max = 40;
var size = Math.floor(Math.random() * (max - min + 1) + min)
document.getElementById("sideSize").innerHTML=size;
return size;
}
在绘制形状之前,使用以下方法清除画布:
context.clearRect(0, 0, canvas.width, canvas.height);
这是CanvasRenderingContext2D.clearRect()
的文档
我创建了2个函数,第一个是清除画布,第二个是用与原始画布相同的属性重新绘制画布,但大小不同
function canvasarea(){
var canvas = document.getElementById('square');
var context = canvas.getContext('2d');
context.beginPath();
var Size=getSize();
context.rect(10,10, 5*Size, 5*Size);
context.fillStyle = 'red';
context.fill();
context.lineWidth =7;
context.strokeStyle = 'black';
clear(canvas);
redraw();
}
function clear(a){
a.getContext('2d').clearRect(0,0,a.width,a.height);
}
function redraw(){
var canvas = document.getElementById('square');
var context = canvas.getContext('2d');
context.beginPath();
var Size=getSize();
context.rect(10,10, 5*Size, 5*Size);
context.fillStyle = 'red';
context.fill();
context.lineWidth = 7;
context.strokeStyle = 'black';
}
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 调用函数内部的函数
- 为什么是动能.形状'的drawFunc方法调用了两次
- 如何删除以前的画布形状时,我再次调用画布
- 单击形状后,KineticJS会自动调用moveToTop()