Canvas与javaScript特效笔记

 第六章   Canvas与javaScript特效笔记

q  <canvas>标签的用途

         HTML5 canvas 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强大。每一个canvas 元素都有一个”上下文( context )” (想象成绘图板上的一页),在其中可以绘制任意图形。浏览器支持多个 canvas 上下文,并通过不同的 API 提供图形绘制功能。

为了能在 JavaScript 中引用元素,最好给元素设置 id;也需要给 canvas 设定高度和宽度。创建好了画布后,要准备画笔。要在画布中绘制图形需要使用 JavaScript 。首先通过 getElementById( ) 函数找到 canvas元素,然后使用getContext( )初始化上下文。此后可以使用上下文 API 绘制各种图形。目前仅有极少浏览器支持3D绘图。

<body onload="drawCanvas()">

       <canvas id="cvs"

              width="800" height="600">

       </canvas>

</body>

 

 

 

 


function drawCanvas()

{

       var canvas=document

              .getElementById("cvs");

       var context=canvas

              .getContext("2d");

}

                                                       

 

 

 

 

 

 

 

 

 

q  画笔颜色和粗细

Ø  fillStyle 填充颜色
注:color 可以是 CSS 颜色中的任何一种。

Ø  strokeStyle  绘制线条颜色。colorvalue 同上

Ø  lineWidth 线条的粗细。必须是正值。默认值是 1.0

q  矩形

Ø  fillRect(x, y, width, height) 画一个矩形

Ø  strockRect(x, y, width, height) 画一个矩形外框

Ø  clearRect(x, y, width, height) 类似于打孔效果,把某个层清除,将其成变透明区

Ø  rect(x, y, width, height) x,y 新矩形的 top 和 left 值。当这个方法被调用,默认调用 moveTo(0,0)

q  绘制路径

Ø  beginPath() 告诉浏览器,你要开始绘制。当 beginPath() 被调用,是另一个过程的开始。

Ø  closePath() 结束一个绘制过程。相当于 html 中的结束标签。

Ø  stroke() 绘制形状外框 fill() 绘制实心形状。一旦 fill() 被调用,形状的绘制将被结束,不再需要 closePath()

Ø  moveTo(x, y) 描述虚拟的“画笔”放到要开始绘制的点

Ø  lineTo(x, y) 绘制线条,x, y 表示线条的结束点坐标。

Ø   arc(x, y, radius,startAngle,endAngle, anticlockwise) 绘制弧形、圆形。x, y 是圆的中心坐标,radius 半径,startAngle,endAngle,圆形弧度的开始点和结束点,以X轴为准,anticlockwise,逆时针旋转,boolean。  

注:Angle 是靠弧度来计算的,而不是以旋转的度数来计算。

q  绘制图片

Ø  drawImage(image, x, y [, width, height])

Ø  注意:

1. Imgage表示图片,或者我们的 canvas 对象。如 var img = new Image(); 
2. x, y 在 canvas 中放置图片的坐标,相当于 CSS 的 top, left;
3. width, height,生成图片的宽高  

q 绘制圣诞树

Ø  思路:

Ø  获取context对象 

Ø  调整画笔颜色和粗细

Ø  计算好圣诞树各点坐标

Ø  依次调用beginPath()、moveTo(x,y)、lineTo(x,y)、closePath()、 stroke() 方法

 

posted @ 2013-06-25 14:08  一个学渣  阅读(291)  评论(0编辑  收藏  举报

 

CSDNGitHub 联系邮箱:aikongmeng@gmail.com


Copyright 2008-2019 Government All Rights Reserved