为了账号安全,请及时绑定邮箱和手机立即绑定

Canvas中如何用鼠标绘制出多条直线?

Canvas中如何用鼠标绘制出多条直线?

慕村9548890 2018-10-09 14:23:08
var canvas = document.getElementById('canvas')var ctx = canvas.getContext('2d')var moveX,    moveY,    toX,    toYcanvas.addEventListener('mousedown', function (e) {    moveX = e.clientX    moveY = e.clientY    canvas.addEventListener('mousemove', drawLine)})canvas.addEventListener('mouseup', function (e) {    canvas.removeEventListener('mousemove', drawLine)})function drawLine(e) {    toX = e.clientX    toY = e.clientY    ctx.clearRect(0, 0, 600, 400)    ctx.beginPath()    ctx.moveTo(moveX, moveY)    ctx.lineTo(toX, toY)    ctx.closePath()    ctx.stroke()}以上代码可以用鼠标绘制一条直线(鼠标按下,开始绘制,鼠标移动时,显示绘制路径,鼠标抬起,结束绘制),但是这样只能绘制一条(因为代码中加入了clearRect,但是不加的话,会显示所有绘制路径),怎么能在绘制下一条的时候不擦除之前绘制的线条呢?
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

在鼠标绘制之后、根据鼠标绘制的直线、拓展一个数组、每次clear之后要重新绘制这个数组里的对象、

相当于在前台做记录了


查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 1258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信