前言
将有关canvas的内容总结成笔记,方便自己看。最近有点浑浑噩噩,没了考试,以为会安安静静的学习,结果自己想太多了。。。。。。
什么是canvas
有关这个百度一下。。。。,个人理解是一块画布,能够完成各种炫丽的效果,之前看过一点three.js,而它应该是基于canvas的,印象中是的。有空想写有关three的demo,毕竟是真的好玩。
创建一个canvas
- html代码如下:12345678910111213<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>canvas</title><script type="text/javascript" src="index.js" charset="gb2312"></script></head><body onload="draw('canvas');"><h1>canvas</h1><canvas id="canvas" width="400px" height="300px" style="margin: 0 auto"></canvas></body></html>
** 注意的是尽量使用htmlt的width和height属性或直接使用js动态来设置宽高,尽量不要使用css设置
- 使用js来获取canvas和上下文
js代码如下:1234567var canvas=document.getElementById(id);if(canvas==null){return false;}var context=canvas.getContext('2d');
其中使用getContext方法来获取上下文
- 填充样式和填充边框样式
语法 | 简介
——— | —————-
fillStyle | 填充的样式
strokeStyle | 图形边框的样式
fillRect | 填充矩形
strokeRect | 绘制矩形边框
clearRect | 将指定的矩形区域中的图形进行擦除
代码如下:
路径的有关方法和属性
创建路径
context.beginPath();
创建一个圆,其中第一和第二个参数表示起点坐标,第三个表示半径,第四和第五表示
开始角度和结束角度,第六表示是否逆时钟旋转,true表示是;
context.arc(i25,i25,i10,0,Math.PI2,true);
关闭路径
context.closePath();
创建一个椭圆x,y为起点坐标,radiusX,radusY为半径,startAngle和endAngle为开始角度和结束角度
context.elispse(x,y,radiusX,radiusY,tation,startAngle,endAngle,anticlockwise);
绘制直线
moveTo(x,y); //坐标移动到x,y作为起点
lineTo(x,y);//绘制直线作为终点
直线的有关属性
lineCap //为直线添加线帽
lineJoin //两直线相交时的形状