javascript+Canvas实现画板功能


Posted in Javascript onJune 23, 2020

本文实例为大家分享了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;*/
}

这是主体代码

<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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
arguments对象
Nov 20 Javascript
jquery入门—选择器实现隔行变色实例代码
Jan 04 Javascript
javascript浏览器兼容教程之事件处理
Jun 09 Javascript
JavaScript中计算网页中某个元素的位置
Jun 10 Javascript
javascript将DOM节点添加到文档的方法实例分析
Aug 04 Javascript
js实现的星星评分功能函数
Dec 09 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
基于React实现表单数据的添加和删除详解
Mar 14 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 Vue.js
JS实现超级好看的鼠标小尾巴特效
Dec 01 Javascript
vue.js实现照片放大功能
Jun 23 #Javascript
vue实现点击按钮切换背景颜色的示例代码
Jun 23 #Javascript
vue.js实现双击放大预览功能
Jun 23 #Javascript
vue实现分页的三种效果
Jun 23 #Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 #Javascript
weui上传多图片,压缩,base64编码的示例代码
Jun 22 #Javascript
详细分析Node.js 多进程
Jun 22 #Javascript
You might like
关于PHP中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
nodeJs实现基于连接池连接mysql的方法示例
2018/02/10 NodeJs
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
使用PYTHON接收多播数据的代码
2012/03/01 Python
python动态加载包的方法小结
2016/04/18 Python
python操作oracle的完整教程分享
2018/01/30 Python
用python生成1000个txt文件的方法
2018/10/25 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
python名片管理系统开发
2020/06/18 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
指针和引用有什么区别
2013/01/13 面试题
ORACLE十问
2015/04/20 面试题
医学专业毕业生个人求职信
2013/12/25 职场文书
销售团队获奖感言
2014/08/14 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
安全员岗位职责范本
2015/04/11 职场文书
员工加薪申请报告
2015/05/15 职场文书
医院见习总结
2015/06/24 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
Mysql数据库命令大全
2021/05/26 MySQL
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis
Go语言安装并操作redis的go-redis库
2022/04/14 Golang