JavaScript与Canvas结合实现简易画板
作者:像素漫游时间:2026-10-24 05:02:22浏览:634
本文介绍了如何利用HTML5 Canvas元素结合JavaScript实现一个简易的网页画板功能。通过监听鼠标按下、移动和松开事件,获取坐标并在Canvas上下文中绘制线条,实现基础的涂鸦效果。
Canvas画板功能实现
以下代码展示了如何使用Canvas元素实现画板功能,供读者参考。
相关的CSS样式设置如下。
body,
html {
text-align: center;
padding-top: 20px;
/*margin: 0;*/
}
canvas {
box-shadow: 0 0 10px #333;
margin: 0 auto;
/*position: absolute;
left: 0;
border: 1px solid red;*/
}
接下来是核心的JavaScript实现代码。
<body onload="draw()">
<canvas id="canvas" width="800" height="600">
</canvas>
<script>
function draw() {
var canvas = document.getElementById("canvas");
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
//涂鸦
//添加鼠标按下事件
canvas.onmousedown=function(e){
var ev=e||window.event;//兼容性
var x=ev.clientX-canvas.offsetLeft;
var y=ev.clientY-canvas.offsetTop;
ctx.strokeStyle='red';
ctx.lineWidth=10;
ctx.beginPath();
ctx.moveTo(x,y);
//onmousemove
canvas.onmousemove=function(e){
var ev=e||window.event;//兼容性
var x=ev.clientX - canvas.offsetLeft;
var y=ev.clientY - canvas.offsetTop;
ctx.lineTo(x,y);
ctx.stroke();
}
canvas.onmouseup=function(){
canvas.onmousemove="";//当鼠标不点击时则不会画画
}
}
}
}
</script>
</body>
以上就是本文的全部内容,希望对读者有所帮助,欢迎继续支持本站。
作者最新文章
D3.js 处理大规模数据点的性能优化策略
2026-11-05 15:37:25
JS实现网页摄像头实时扫码:结合getUserMedia与jsQR教程
2026-11-05 15:27:28
D3.js v5 迁移到 v7 的 API 变更与注意事项
2026-11-05 11:57:17
使用 animate.js 实现多元素协同的序列动画
2026-11-04 22:27:53
JS拖拽排序时怎么添加平滑动画效果?FLIP技术实战
2026-11-04 10:12:22
