画板

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

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加上 <meta name="viewport" content="width=device-width, initial-scale=1.0">
在多个选择比如颜色之间切换可以利用添加属性来达到目的
同时手机上面是触屏而不是用鼠标的,所以我们要进行特性检测,这个时候我都谷歌浏览器出bug了,‘onstartend’ in document.body 永远是null(表示支持触屏)
然后加了检测选择之后只能以手机模式画画,然后我去用ie浏览器就正常了。。。

https://github.com/LichItree/myCanvas

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 源码预览 是 HTML5新增的元素,可用于通过使用JavaScript中的脚本来绘制图形。例如,它可以用于绘制图形...
    猫晓封浪阅读 1,676评论 0 0
  • 一、实现思路 (非触屏设备) 监听鼠标事件①按下鼠标:onmousedown;滑动鼠标:onmousemove;松...
    darkTi阅读 1,238评论 0 1
  • 学习制作画板之前,我们先来了解一下canvas标签一.canvas标签1.canvas标签与img标签相似,但是c...
    charllote8阅读 3,873评论 0 2
  • 本节知识点 JS知识点 获取标签的方法之一(id):document.getElementById(id) 鼠标按...
    格林姆大师阅读 258评论 0 0
  • canvas画板工具 好久不见,先来一个美美的么么哒~~~ 需要注意的几点我们之前说的,不能在css中固定canv...
    learninginto阅读 758评论 0 8