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 相关文章推荐
一个轻量级的javascript库 pj介绍
Dec 19 Javascript
解析js原生方法创建表格效率测试
Jul 08 Javascript
仿百度输入框智能提示的js代码
Aug 22 Javascript
js data日期初始化的5种方法
Dec 29 Javascript
jquery中load方法的用法及注意事项说明
Feb 22 Javascript
在React框架中实现一些AngularJS中ng指令的例子
Mar 06 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
Vue 2.0学习笔记之Vue中的computed属性
Oct 16 Javascript
浅谈Angular 中何时取消订阅
Nov 22 Javascript
vux uploader 图片上传组件的安装使用方法
May 15 Javascript
详解在Angular4中使用ng2-baidu-map的方法
Jun 19 Javascript
es6函数之尾递归用法实例分析
Apr 25 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
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
php对称加密算法示例
2014/05/07 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
php 问卷调查结果统计
2015/10/08 PHP
php blowfish加密解密算法
2016/07/02 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
jQuery 树形结构的选择器
2010/02/15 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
常用的Javascript数据验证插件
2015/08/04 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
python抓取网页中图片并保存到本地
2015/12/01 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
python为什么会环境变量设置不成功
2020/06/23 Python
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
护士自我评价范文
2014/01/25 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
难忘的一天教学反思
2014/04/30 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
先进员工事迹材料
2014/12/20 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
一文搞懂MySQL索引页结构
2022/02/28 MySQL
为Centos安装指定版本的Docker
2022/04/01 Servers