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 相关文章推荐
js 走马灯简单实例
Nov 21 Javascript
JS中类或对象的定义说明
Mar 10 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
Dec 14 Javascript
jQuery 重复加载错误以及修复方法
Dec 16 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
JavaScript编写推箱子游戏
Jul 07 Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
Feb 14 Javascript
微信小程序 引用其他js文件实现代码
Feb 22 Javascript
详解Vue前端生产环境发布配置实战篇
May 07 Javascript
js笔试题-接收get请求参数
Jun 15 Javascript
js判断在哪个浏览器打开项目的方法
Jan 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
极典R601SW收音机
2021/03/02 无线电
Function eregi is deprecated (解决方法)
2013/06/21 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
基于axios 解决跨域cookie丢失的问题
2018/09/26 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
Python编程修改MP3文件名称的方法
2017/04/19 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
美国最大点评网站:Yelp
2018/02/14 全球购物
群众路线剖析材料
2014/02/02 职场文书
小学教师国培感言
2014/02/08 职场文书
企业新年寄语
2014/04/04 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL