`
pnhuang
  • 浏览: 4763 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类

HTML5 Canvas API 学习笔记(一)

阅读更多
HTML Canvas API里的几个基本方法:

beginPath():清空子路径,让上下文再次没有子路径。
closePath():关闭最后一条子路径,并创建一个新的子路径起点,该起点与上一条子路径的起点相同,最后添加新的子路径到路径中。

beginPath()和closePath()是一对控制子路径的方法。一条完整的子路径应该分别以这两个方法作为起点和中点,如果不使用这两个方法,会产生意想不到的结果。

moveTo(x, y):创建一条新的子路径并以点(x, y)为子路径唯一的起点。
lineTo(x, y):在子路径最后一个点和点(x, y)之间画一条直线,并将点(x, y)添加到子路径中。

用这两个方法可以画一条直线,但为什么画完后什么也没有呢?

stroke():使用lineWidth,lineCap,lineJoin和miterLimit几个属性,然后使用strokeStyle属性来填充连接的区域。

这个方法就能解释上一个问题。moveTo和lineTo方法只是定义了一条线,但具体线宽、线的类型等属性还没定义,所以在定义好线的属性后,就可以调用stroke方法把线画出来了。与stroke相类似的还有一个fill方法。

fill():通过fillStyle属性和非零缠绕数规则来填充当前路径的整个子路径,不闭合的子路径会被隐式闭合(但不会影响实际的子路径)。

这个方法在非直线的子路径中就能看出与stroke方法的区别。stroke方法只是将整个路径画出,而fill方法会连接子路径起点和当前最后一个点(不闭合的时候),并将闭合部分填充。

quadraticCurveTo(cpx, cpy, x, y):quadratic是二次的意思,从方法名中可以看出这个方法是通过二次画一条曲线,其中点(cpx, cpy)为辅助点,(x, y)是终点,但画出的线是不经过点(cpx, cpy)的。

bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y):bezier是贝塞尔的意思,从方法名中可以看出这个方法是绘制一条贝塞尔曲线。其中点(cp1x, cp1y)和(cp2x, cp2y)是两个辅助点,点(x, y)是终点,与quadraticCurveTo方法类似,比quadraticCurveTo方法多出一个辅助点,这样画出的曲线会更精确。

arc(x, y, radius, startAngle, endAngle, anticlockwise):这个方法是绘制圆弧的方法。其中以点(x, y)为圆心,radius为半径,startAngle为圆弧起点,endAngle为圆弧终点,anticlockwise是逆时针的意思,确定的是圆弧的方向。其中startAngle为0的点是在圆心的正右方,0.5PI的点在圆心正上方,PI的点在圆心的正左方,2PI的点与0的点是重合的。默认情况下为逆时针方向,即anticlockwise为true,当设置anticlockwise为false时,圆弧方向为顺时针。

这几个方法就是我目前掌握的几个基本方法,更多方法请期待Canvas学习笔记(二)。
分享到:
评论
1 楼 kital133 2011-08-18  

相关推荐

    HTML5 CanvasAPI

    关于canvas 的api文档 主要描述canvas标签的用法

    HTML5canvasAPI

    HTML5canvasAPI画矩形,清除矩形,绘制路径,画圆等

    Html5 Canvas API

    是一个很不错的绘制Canvas 的例子 ,里面有详细的事例代码,对于初学者来说真的很好的案例

    HTML5 Canvasapi的PPT详细讲义

    HTML5 Canvas api的PPT详细讲义,一共85页PPT共9章,可供培训参考

    HTML5 Canvas API 教程

    HTML5 是目前比较热门的技术,附件中介绍了Canvas的使用和Context的一些常用接口,是比较好的参考资料

    HTML 5 Canvas基础教程 源码+PDF

    《HTML 5 Canvas基础教程》从HTML5和JavaScript(以及jQuery)的基础知识讲起,全面介绍了HTML5Canvas的各种特性,包括渲染上下文、坐标系统、绘制图形、保存和恢复画布状态,以及变形、合成、处理图像和视频等,让...

    MDN Canvas API 中文文档 20171202

    MDN Canvas API 中文文档 20171202 MDN Canvas API 中文文档 20171202

    canvas JavaScript API学习

    canvas JavaScript API学习 收集这些资料真的好辛苦!

    HTML5 Canvas核心技术源码技术代码

    HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas...

    html5 canvas飘洒的星星特效

    html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的星星特效html5 canvas飘洒的...

    HTML 5 Canvas API

    NULL 博文链接:https://chenhailong.iteye.com/blog/1285171

    html5canvas播放视频

    html5 canvas 播放视频html5 canvas 播放视频

    canvas:Canvas是一个基于OpenGL或使用与HTML5 canvas API非常相似的软件渲染的Go图形库

    去画布 Canvas是一个纯Go库,提供的绘图功能与HTML5 canvas API尽可能相似。 它与HTML或Javascript无关,只是使它们的功能大致相同。 支持大多数功能,但仍在进行中。 该库旨在以与Javascript API相似的方式在每个...

    HTML5 Canvas

    HTML5 Canvas 经典学习教程, HTML5 Canvas 经典学习教程-HTML5 Canvas Study,HTML5 Canvas Study,HTML5 Canvas Study

    关于HTML5 canvas 所有API的分类列表图

    关于HTML5 canvas 所有API的分类列表图,分类列表精细,一看就明白各函数的关系和用途。

    html5学习笔记

    一、html5页面结构 二、html5标记 三、html5结构化语义元素 四、表单 五、html5媒体元素:audio和video 六、html5绘图API 七、html5 Canvas

    HTML5Canvas基础教程

    资源名称:HTML5 Canvas基础教程内容简介:《HTML5 Canvas基础教程》从HTML5和Javascript(以及jQuery)的基础知识讲起,全面介绍了HTML5 Canvas的各种特性,包括渲染上下文、坐标系统、绘制图形、保存和恢复...

    HTML5 Canvas学习笔记(1)处理鼠标事件

    NULL 博文链接:https://128kj.iteye.com/blog/2083289

    HTML5 Canvas 2D API 规范 1.0

    它自己没有行为,但却把一个绘图 API 展现给客户端 JavaScript 以使脚本能够把想绘制的东西都绘制到一块画布上。 <canvas> 标记由 Apple 在 Safari 1.3 Web 浏览器中引入。对 HTML 的这一根本扩展的原因在于,HTML ...

    OpenSC2K基于HTML5CanvasAPI和SQLite使用JavaScript重构SimCity2000

    基于HTML5 Canvas API和SQLite,使用JavaScript编写重构SimCity 2000并开放源代码。

Global site tag (gtag.js) - Google Analytics