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 相关文章推荐
IE6下出现JavaScript未结束的字符串常量错误的解决方法
Nov 21 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
Jun 13 Javascript
浅谈类似于(function(){}).call()的js语句
Mar 30 Javascript
js css+html实现简单的日历
Jul 14 Javascript
基于jQuery实现表格内容的筛选功能
Aug 21 Javascript
js实现加载更多功能实例
Oct 27 Javascript
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
layui table去掉右侧滑动条的实现方法
Sep 05 Javascript
Vue-cli4 配置 element-ui 按需引入操作
Sep 11 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 Javascript
javascript全局自定义鼠标右键菜单
Dec 08 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
怎样在UNIX系统下安装php3
2006/10/09 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
JavaScript入门之基本函数详解
2011/10/21 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
python中join()方法介绍
2018/10/11 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
NET程序员上机面试题
2015/05/23 面试题
校友会欢迎辞
2014/01/13 职场文书
美容院营销方案
2014/03/05 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
简易版租房协议书范本
2014/10/13 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python