`
pnhuang
  • 浏览: 4921 次
  • 性别: 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 Canvas学习笔记(1)处理鼠标事件

    这篇“HTML5 Canvas学习笔记(1)处理鼠标事件”着重讲解了如何利用Canvas API来监听和响应鼠标的点击、移动等事件。 Canvas API提供了几个关键的方法来处理鼠标事件,包括`addEventListener`用于绑定事件处理函数,`...

    HTML5 Canvas学习笔记(5)游戏得分动画

    这篇“HTML5 Canvas学习笔记(5)游戏得分动画”着重讲解了如何利用Canvas技术来实现游戏中的得分动画效果。通过学习这篇笔记,我们可以深入了解Canvas的基本用法以及如何将它应用于游戏开发。 首先,Canvas是HTML5的...

    HTML5 Canvas学习笔记(7)俄罗斯方块游戏之一(色块)

    这篇“HTML5 Canvas学习笔记(7)俄罗斯方块游戏之一(色块)”着重介绍了如何利用Canvas构建经典游戏——俄罗斯方块的基础部分,即色块的绘制与移动。 首先,我们要理解HTML5 Canvas的基本结构。它是一个二维绘图...

    HTML5 Canvas学习笔记(3)加载游戏/动画音乐

    在“HTML5 Canvas学习笔记(3)加载游戏/动画音乐”这个主题中,我们将深入探讨如何利用Canvas API来加载和播放音频资源,这对于创建交互式游戏和动画至关重要。 1. HTML5 Audio API HTML5提供了Audio元素,它是网页...

    HTML5 Canvas学习笔记(9)俄罗斯方块游戏之三(游戏面板)

    这篇“HTML5 Canvas学习笔记(9)俄罗斯方块游戏之三(游戏面板)”深入探讨了如何利用Canvas技术构建一个经典的游戏——俄罗斯方块。 在HTML5 Canvas上构建俄罗斯方块游戏,首先需要理解Canvas的基本结构和绘图API。...

    《HTML5 Canvas学习笔记(10)》数钱数到手抽筋

    这篇名为“HTML5 Canvas学习笔记(10) - 数钱数到手抽筋”的博客文章,很可能是讲解如何使用Canvas来模拟数钱动画或游戏的教程。在Canvas中实现这样的功能,需要掌握以下几个关键知识点: 1. **Canvas基本概念**:...

    HTML5 Canvas学习笔记(6)拼图游戏(数字版)

    在“HTML5 Canvas学习笔记(6)拼图游戏(数字版)”这篇博文中,作者分享了如何利用Canvas构建一个数字拼图游戏。下面我们将详细探讨这个知识点。 1. **HTML5 Canvas基础**: - Canvas是一个基于矢量图形的画布元素...

    canvas学习之API整理笔记(二)

    在本文中,我们将深入探讨HTML5的canvas API,特别是高级动画、像素操作和性能优化这三个核心主题。canvas作为Web开发中的一个强大工具,允许开发者直接在网页上进行图形绘制和动画制作。 首先,我们来看看高级动画...

    HTML5高级程序设计学习笔记

    ### HTML5高级程序设计学习笔记 #### 一、HTML5新增结构标签 在HTML5中,为了更好地组织页面内容并增强语义性,引入了一系列新的结构标签,这些标签不仅能够帮助开发者更清晰地定义页面的不同部分,同时也为搜索...

    HTML5 Canvas学习笔记(8)俄罗斯方块游戏之二(方块)

    这篇“HTML5 Canvas学习笔记(8)俄罗斯方块游戏之二(方块)”主要探讨了如何利用Canvas来实现经典游戏——俄罗斯方块的方块部分。我们将深入探讨相关知识点,包括Canvas基本操作、事件处理、动画原理以及游戏逻辑。 ...

    html5 canvas米字格式手写文字练习代码.zip

    这个“html5 canvas米字格式手写文字练习代码”压缩包提供了一个实例,可以帮助学习者更好地理解和掌握Canvas API的用法,特别是关于文字绘制的部分。 在HTML5中,Canvas是一个二维绘图上下文,通过JavaScript来...

    h5前端学习笔记

    【描述】"我的h5前端学习笔记"表明这是一份个人的学习记录,可能包含了作者在探索HTML5前端开发过程中对各个方面的理解和实践总结。学习笔记通常包括了基础概念、关键特性、实用技巧以及常见问题的解决方法。 ...

    html5 canvas动态图形动画下载.rar

    这个“html5 canvas动态图形动画下载.rar”压缩包包含了一个实例,展示了如何利用Canvas API来实现动态图形动画。 Canvas API是HTML5的一个重要组成部分,它提供了一组JavaScript方法,通过这些方法,开发者可以...

    HTML5 Canvas樱花树木特效.zip

    在这个“HTML5 Canvas樱花树木特效”压缩包中,包含了一个使用Canvas API实现的樱花树动画效果。这个特效可能适用于网站背景、交互式设计或者节日主题页面,为用户带来更生动的浏览体验。 Canvas API是HTML5标准的...

    基于HTML5 Canvas和Rebound动画的Loading加载动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创建出丰富的交互式用户体验。在本项目中,"基于HTML5 Canvas和Rebound动画的Loading加载动画特效"利用了Canvas的强大功能,为用户...

    html5 canvas全屏彩带飘动背景动画特效.zip

    "html5 canvas全屏彩带飘动背景动画特效"是一个利用Canvas API实现的视觉效果,适用于网站背景,能为网页增添动态美感。 首先,`index.html`是网页的主文件,它包含了HTML结构以及引入CSS和JavaScript资源的部分。...

    HTML5学习笔记

    HTML5的Canvas API提供了丰富的绘图方法,如`fillRect()`、`strokeRect()`、`moveTo()`、`lineTo()`等,可以用来创建复杂的图形、动画甚至是游戏。Canvas是基于2D渲染上下文,可以通过`getContext("2d")`获取。 4. ...

    bootstrap学习笔记-html5

    这个“bootstrap学习笔记-html5”压缩包文件显然包含了有关如何使用Bootstrap和HTML5进行网页设计的资料,非常适合初学者入门。接下来,我们将深入探讨这两个重要主题。 HTML5(超文本标记语言第五版)是网页开发的...

    HTML5 Canvas在线书法练字代码.zip

    Canvas是HTML5的一个重要组成部分,它提供了一系列API,使得开发者可以通过JavaScript来控制像素级别的画布操作。在书法练字应用中,Canvas可以用于绘制笔触,模仿毛笔在纸上的运动轨迹,用户可以通过鼠标或触摸设备...

Global site tag (gtag.js) - Google Analytics