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 相关文章推荐
如何使用jQuery来处理图片坏链具体实现步骤
May 02 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
May 03 Javascript
取消选中单选框radio的三种方式示例介绍
Dec 23 Javascript
js中settimeout方法加参数的使用实例
Feb 27 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
JS实现的论坛Ajax打分效果完整实例
Oct 31 Javascript
Vue渲染函数详解
Sep 15 Javascript
react学习笔记之state以及setState的使用
Dec 07 Javascript
使用pm2部署node生产环境的方法步骤
Mar 09 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
Apr 15 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
Jun 19 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 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
1.PHP简介
2006/10/09 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
js的回调函数详解
2015/01/05 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
python 实现aes256加密
2020/11/27 Python
python中re模块知识点总结
2021/01/17 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
专升本自我鉴定
2013/10/10 职场文书
自荐信的禁忌和要点
2013/10/15 职场文书
借款民事起诉状范文
2015/05/19 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL