相信canvas大家都听说过,今天我们就来用canvas写个简易画板。
首先,我们得在body的内部写个canvas标签
<canvas id =
"myCanvas" width=
"500" height =
"500" style =
"border:1px solid red;">这里写提示版本信息:您的浏览器版本太低,点击<a href =
"###">下载<
/a>最新版本</canvas>
标签部分已经完成了。接下来就是js部分了:
在写js之前,分析要完成的动作—
- 鼠标按下,开始在画布上有响应,且按下的位置,即为画笔开始的位置。
- 鼠标拖动,获得的鼠标相对元素(画布)位置即为画笔最终的位置。
- 鼠标抬起,移动事件结束。
根据上述的分析,我们依次填补对应的事件:
var myCanvas = document.getElementById(
"myCanvas");
var context = myCanvas.getContext(
'2d');
myCanvas.onmousedown =
function(ev){
var obj = ev || window.event;
var startX = obj .clientX - myCanvas.offsetLeft;
var startY = obj .clientY - myCanvas.offsetTop;
context.beginPath();
context.moveTo(startX,startY);
myCanvas.onmousemove =
function(ev){
var obj = ev || window.event;
var endX = obj .clientX - myCanvas.offsetLeft;
var endY = obj .clientY - myCanvas.offsetTop;
context.lineTo(endX,endY);
context.strokeStyle =
"red";
context.lineWidth =
5;
将图形渲染到画布上,否则虽然画了东西,但是显示不出来
context.stroke();
}
}
myCanvas.onmouseup =
function(){
myCanvas.onmousemove =
null;
}
结果: )
最后 : 很简单的一个小例子,帮助我们初步了解canvas,希望对大家有帮助。