关于HTML5清除canvas画布问题
发布网友
发布时间:2022-04-21 19:27
我来回答
共4个回答
懂视网
时间:2022-04-20 04:26
这次给大家带来H5有哪些清空画布方法,H5清空画布的注意事项有哪些,下面就是实战案例,一起来看一下。
总结以下三种清空canvas画布的方式:
1. 最简单的方法:由于canvas每当高度或宽度被重设时,画布内容就会被清空,因此可以用以下方法清空:
function clearCanvas<span style="font-family: Verdana, Arial, 宋体;">()</span>
{
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
c.height=c.height;
}
2. 使用clearRect方法:
function clearCanvas()
{
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.clearRect(0,0,c.width,c.height);
}
3. 类似于方法2,可以用某一特定颜色填充画布,从而达到清空的目的:
function clearCanvas()
{
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#000000";
cxt.beginPath();
cxt.fillRect(0,0,c.width,c.height);
cxt.closePath();
}
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
html5怎么实现图片转圈的动画效果
怎样用canvas实现自定义头像功能
热心网友
时间:2022-04-20 01:34
//函数clea修改下,加一句话就行
//canvas会记录你moveTo的点,所以清空的时候要用beginPath来清空下路径
function clea(){
pic.beginPath();
pic.clearRect(0,0,500,500);
}
热心网友
时间:2022-04-20 02:52
function clea(){
var canvas = document.getElementById('bo');
var context=canvas.getContext("2d");
context.clearRect(0,0,canvas.width,canvas.height);
context.beginPath();
};
/*试试这个效果,希望能帮到你*/
热心网友
时间:2022-04-20 04:26
是啊,好奇怪呀。。。为什么呢。。。不过倒是可以投机取巧:
<body>
<canvas id="bo" width="500" height="500" style="border:1px solid">您的浏览器不支持次应用,请更新浏览器</canvas>
<input type="button" onclick="clea()" value="清空" />
<script src="http://code.jquery.com/jquery-1.6.3.min.js"></script>
<script>
var canvasInit = function(){
var canvas = document.getElementById('bo');
var pic=canvas.getContext("2d");
pic.lineWidth=5;
pic.strokeStyle="red";
var con=false;
$("#bo").mousedown(function(e){
var mouseX = e.pageX - this.offsetLeft;
var mouseY = e.pageY - this.offsetTop;
con=true;
pic.moveTo(mouseX,mouseY);
});
$("#bo").mouseup(function(e){
con=false;
})
$("#bo").mousemove(function(e){
var mouseX = e.pageX - this.offsetLeft;
var mouseY = e.pageY - this.offsetTop;
if(con)
pic.lineTo(mouseX,mouseY);
pic.stroke();
})
}
canvasInit();
function clea(){
var tmp = $('#bo').clone();
$('#bo').remove();
$('body').prepend(tmp);
canvasInit();
//pic.clearRect(0,0,500,500);
}
</script>