笔记十三(绘制二)
来源:互联网 发布:淘宝售后培训ppt 编辑:程序博客网 时间:2024/05/29 10:51
利用quadraticCurveTo(cpx,cpy,x,y)方法绘制曲线,接收两个参数,第一个是控制点,第二个是曲线终点。该形状由一个名为二次贝塞尔曲线的标准算法决定。该曲线会弯向但永不触及控制点。要想曲线穿过某点,使用一下公式:(x0,y0)为起点,(x2,y2)为终点,(x1,y1)作为控制点,(xt,yt)代表要穿过的目标点。
x1 = xt * 2 - (x0 + x2) / 2y1 = yt * 2 - (y0 + y2) / 2
创建一个绘制曲线的程序:
文件名:drawing2.html。
<!DOCTYPE html><html><head> <meta charset = "utf-8"> <title>绘制2</title><style>#canvas{background-color: #99cc33;}</style></head><body><canvas id="canvas" width="400" height="400"></canvas><script src="utils.js"></script><script type="text/javascript"> window.onload = function(){ var canvas = document.getElementById('canvas'), context = canvas.getContext("2d"), mouse = utils.captureMouse(canvas), x0= 100, y0= 200, x2= 300, y2= 200; canvas.addEventListener("mousemove" , function(){ context.clearRect(0,0,canvas.width,canvas.height); var x1 = mouse.x * 2 - (x0+x2)/2, y1 = mouse.y * 2 - (y0+y2)/2; context.beginPath(); context.moveTo(x0,y0); context.quadraticCurveTo(x1,y1,x2,y2); context.stroke(); },false); }</script></body></html>
效果图:
参见《HTML5+Javascript动画基础》。
0 0
- 笔记十三(绘制二)
- 学习笔记(二十三)
- opencv 2.x学习笔记(十三)绘制直方图
- Android开发笔记(十三)视图绘制的几个方法
- Android笔记(十三)AsyncTask(二)
- Linux学习笔记(二十三)
- python 学习笔记(二十三)
- Android笔记(二十三)HttpClient
- Linux学习笔记(二十三、通配符)
- javaScript笔记(二十三) 表单处理
- java学习笔记(二十三)数据结构
- 信息安全工程师 学习笔记(二十三)
- 软件工程视频学习笔记(二十二、二十三)
- Allegro学习笔记二十三
- 汇编--学习笔记(十三)-中断(二)- 自我总结
- 设计模式学习笔记二十三(Strategy策略模式)
- java学习笔记(二十三)final关键字
- 黑马程序员 笔记(二十三)——正则表达式
- Tomcat6.0的安装与配置
- 安装系统出现Winload.exe错误0xc000000e解决方法
- Android中图片的三级缓存机制
- Hibernate Tools for Eclipse插件的安装和使用
- URL Session(Cache)
- 笔记十三(绘制二)
- 相似性度量总结
- 1005.继续(3n+1)猜想
- JUnit简单安装使用步骤总结
- 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest F. Gourmet and Banquet(贪心+二分)
- java设计模式(三)—单例模式
- leetcode 312 : Burst Balloons
- Android之px、dp、sp之间相互转换
- 【数据结构实验】哈夫曼编/译码