画板

用户动作:按下去,动,松开鼠标三个动作完成画画

document.onmousedown
document.onmousemove
document.onmouseup

利用相对定位把创造一个个的黑圈圈放在它该在的地方,注意div1的style因为用到变量放在js了,clientx是相对与视口的位置而不是画布


此时只有点击才可以画点,利用painting变量来进一步控制move和up时候的情况


如上,快速的结果就是线条不可,所以改用canvas标签,不用css控制画布大小


js3.PNG

stroke描边,fill填充


js4.PNG
js5.PNG
js00.PNG

如果我们用css加样式来控制canavs大小,会发现画出来的线粗细都不对了,一般如下选中部分来达到适应的效果,注意onresize是当视口大小变化让画布重新变成整个视口的宽高


画圈圈是没有用的,只是为了便于理解, 删掉吧

橡皮擦的功能加上,用到二个锁(enableEarse和using)

封装一下函数,让代码漂亮一些

10放手机上,会等比缩小展现,比如电脑上900px,放在手机上面也是,这个时候,就应该html加上
在多个选择比如颜色之间切换可以利用添加属性来达到目的
同时手机上面是触屏而不是用鼠标的,所以我们要进行特性检测,这个时候我都谷歌浏览器出bug了,‘onstartend’ in document.body 永远是null(表示支持触屏)
然后加了检测选择之后只能以手机模式画画,然后我去用ie浏览器就正常了。。。

https://github.com/LichItree/myCanvas

你可能感兴趣的:(画板)