HTML5 Canvas 起步(2) - 路径(3)

作者:xujiwei 来源:xujiwei博客 时间:2009-05-12 12:06:00 

3. 曲线 arcTo, arc, quadraticCurveTo, bezierCurveTo

void arcTo(in float x1, in float y1, in float x2, in float y2, in float radius);

按照 WHATWG 文档的说明,这个方法是画一个与两条射线相切的的圆弧,两条射线其中一条为穿过 Context 绘制起点,终点为 (x1, y1),另外一条为穿过 (x2, y2),终点为 (x1, y1),这条圆弧为最小的与这两条射线相切的圆弧。在调用完 arcTo 方法后,将 圆弧与 射线 (x1, y1)-(x2, y2) 的切点添加到当前路径中,做为下次绘制的起点。

在测试中发现,Firefox 和 Opera 目前对这个方法的支持并不好,只有 Chrome 和 Safari 4 能绘制出正确的路径。

图中的的两条灰色直线是偏移 4 个像素后的两条射线所在的位置。


void arc(in float x, in float y, in float radius, in float startAngle, in float endAngle, in boolean anticlockwise);

arc 方法用来绘制一段圆弧路径,通过圆心位置、起始弧度、终止弧度来指定圆弧的位置和大小,这个方法也依赖于 Context 维护的绘制起点。而在画圆弧时的旋转方向则由最后一个参数 anticlockwise 来指定,如果为 true 就是逆时针,false 则为顺时针。

void quadraticCurveTo(in float cpx, in float cpy, in float x, in float y);

quadraticCurveTo 方法用来绘制二次样条曲线路径,参数中 cpx 与 cpy 指定控制点的位置,x 和 y 指定终点的位置,起点则是由 Context 维护的绘制起点。

void bezierCurveTo(in float cp1x, in float cp1y, in float cp2x, in float cp2y, in float x, in float y);

bezierCurveTo 方法用来绘制贝塞尔曲线路径,它与 quadraticCurveTo 相似,不过贝塞尔曲线有两个控制点,因此参数中的 cp1x, cp1y, cp2x, cp2y 用来指定两个控制点的位置,而 x 和 y 指定绺的位置。

标签:Canvas,图形,HTML5,路径
0
投稿

猜你喜欢

  • Dreamweaver使用技巧--让css使网页图片半透明

    2010-09-05 21:13:00
  • ASP 统计某字符串中“A”出现过的次数

    2010-08-12 10:17:00
  • Dreamweaver 网页编辑常用表现的实现方法

    2010-10-20 20:05:00
  • 详解MySQL 数据库优化方法

    2010-08-12 14:50:00
  • asp 随机字符串函数

    2011-04-04 11:01:00
  • Sql2005启用和关闭xp_cmdshell功能

    2008-09-29 15:37:00
  • ASP中DLL的调试环境配置全攻略

    2007-09-27 13:20:00
  • ASP正则表达式验证域名是否合法

    2010-01-02 20:44:00
  • 编写SQL Server的扩展存储过程实例

    2009-01-20 15:45:00
  • 43个应当避免的Web设计错误

    2007-09-30 12:57:00
  • SQL Server树型结构数据处理的存储过程

    2010-01-26 13:40:00
  • 新手入门:防范SQL注入攻击的新办法

    2009-03-11 15:14:00
  • IE对CSS样式表的限制和解决方案

    2008-04-28 12:27:00
  • SQL Servr 2008空间数据应用系列四:基础空间对象与函数应用

    2011-02-23 15:01:00
  • 网站如何使用黄金分割布局

    2010-11-05 18:34:00
  • 用Css来制作一个漂亮的多选列表框

    2008-05-29 12:45:00
  • phpstudy apache开启ssi使用详解

    2023-05-25 08:04:44
  • ASP trim,ltrim,rtrim 去前后空格 函数

    2011-03-03 10:39:00
  • WEB2.0时代活动类网页我们该如何设计?

    2009-12-16 12:19:00
  • 用SQL语句完成SQL Server数据库的修复

    2008-11-24 20:49:00
  • asp之家 网络编程 m.aspxhome.com