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 相关文章推荐
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
快速解决FusionCharts联动的中文乱码问题
Dec 04 Javascript
Javascript页面跳转常见实现方式汇总
Nov 28 Javascript
百度多文件异步上传控件webuploader基本用法解析
Nov 07 Javascript
详解基于angular-cli配置代理解决跨域请求问题
Jul 05 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
微信小程序实现循环动画效果
Jul 16 Javascript
JS Math对象与Math方法实例小结
Jul 05 Javascript
vue子路由跳转实现tab选项卡
Jul 24 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
Oct 31 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 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+APACHE实现用户论证的方法
2006/10/09 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
python通过索引遍历列表的方法
2015/05/04 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python callable()函数用法实例分析
2018/03/17 Python
django输出html内容的实例
2018/05/27 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
酒店员工培训方案
2014/06/02 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
六年级情感作文之500字
2019/10/23 职场文书