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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
javascript 操作select下拉列表框的一点小经验
Mar 20 Javascript
腾讯UED 漂亮的提示信息效果代码
Sep 12 Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
May 03 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 Javascript
js实现json数组分组合并操作示例
Feb 12 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
JS实现普通轮播图特效
Jan 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
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
php md5下16位和32位的实现代码
2008/04/09 PHP
php的一个简单加密解密代码
2014/01/14 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
js获取页面description的方法
2015/05/21 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python模拟enum枚举类型的方法小结
2015/04/30 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Python操作MySQL数据库9个实用实例
2015/12/11 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
python+pygame简单画板实现代码实例
2017/12/13 Python
python实现装饰器、描述符
2018/02/28 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
python如何代码集体右移
2020/07/20 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
尼克松手表官网:Nixon手表
2019/03/17 全球购物
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
python三子棋游戏
2022/05/04 Python
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android