WEB前端开发学习----10. canvas实现画板的两个方法
来源:互联网 发布:宋理宗 知乎 编辑:程序博客网 时间:2024/06/01 07:37
方法1:查看演示 点击鼠标作画
此方法就是鼠标移动的时候不停的画小圆点,然后用等粗的线将小圆点串起来(有点类似于珍珠项链)。因为是小圆点,所以效果要比方法2好,比较平滑。
方法2:查看演示 点击鼠标作画
这个方法很容易理解,就是不断的将鼠标所在的位置用线段连起来。缺点是不够平滑,尤其是粗线条的时候。
方法1:
<!doctype html><html><head><meta charset="utf-8"/></head><body style="margin:0"><canvas id="canvas">请更新浏览器版本</canvas><script>var canvas=document.getElementById("canvas");var cxt=canvas.getContext("2d");var radius=10;var falge=false;//画板大小为屏幕大小canvas.width=window.innerWidth;canvas.height=window.innerHeight;cxt.lineWidth=20;//添加监听对象canvas.addEventListener("mousedown", start);canvas.addEventListener("mouseup", stop);canvas.addEventListener("mousemove", putPoint); function putPoint(e){if(falge){cxt.lineTo(e.clientX, e.clientY);cxt.stroke();cxt.beginPath();cxt.arc(e.clientX, e.clientY, radius, 0, 360, false);cxt.fill();cxt.beginPath();cxt.moveTo(e.clientX, e.clientY);}}function start(e){falge=true;putPoint(e);}function stop(){falge=false;cxt.beginPath();}</script></body></html>
方法2:
<!doctype html><html><head><meta charset="utf-8"></head><body><canvas width="900" height="500" id="canvas" style="border:1px solid black">请更新浏览器版本</canvas><script >var canvas=document.getElementById("canvas");var cxt=canvas.getContext("2d");var flag=falsecxt.lineWidth=20;canvas.onmousedown=function(evt){//alert(evt.pageX);//alert(this.offsetLeft);var startX=evt.clientX-this.offsetLeft;var startY=evt.clientY-this.offsetTop;cxt.beginPath();cxt.moveTo(startX, startY);flag=true;}canvas.onmousemove=function(evt){if(flag){var endX=evt.clientX-this.offsetLeft;var endY=evt.clientY-this.offsetTop;cxt.lineTo(endX, endY);cxt.stroke();}}canvas.onmouseup=function(){flag=false;}canvas.onmouseout=function(){flag=false;}</script></body></html>
0 0
- WEB前端开发学习----10. canvas实现画板的两个方法
- canvas实现画板功能
- WEB前端开发学习----9. 使用canvas来画个时钟
- HTML5 -- canvas实现简易画板
- 用canvas实现一个简易的涂鸦画板
- WEB前端开发常见的布局方法
- web前端开发学习
- web前端学习开发
- HTML5 canvas画板的制作
- 基于canvas的超级画板
- Java学习记录 : 画板的实现
- Canvas画板
- JS底层实现canvas在线画板
- javaScript 利用canvas实现简单画板
- 画板社交工具开发分享——HTML5 canvas控件、PHP、社交分享学习(一)
- 画板社交工具开发分享——HTML5 canvas控件、PHP、社交分享学习(二)
- 画板社交工具开发分享——HTML5 canvas控件、PHP、社交分享学习(三)
- 画板社交工具开发分享——HTML5 canvas控件、PHP、社交分享学习(四)
- 黑马程序员 :(反射应用 )通过反射讲<Integer>类型的集合中添加一个<String>类型的数据
- LA 4728 Square ,旋转卡壳法求多边形的直径
- Qt工程文件(.pro文件)解读
- QT 项目文件介绍
- poj 2187 Beauty Contest , 旋转卡壳求凸包的直径的平方
- WEB前端开发学习----10. canvas实现画板的两个方法
- 黑马程序员(笔试题)遍历一个ArrayList集合,如果这个集合有多个“abc”则全部删除掉
- Unity编译至Xcode工程后自动添加文件和库的方法
- QT 项目文件介绍
- linux黑客基础
- android 屏幕适配原则
- 《秒速五厘米》短评
- 正则表达式(1)
- REST当道,NO MVC