一、Canvas
Canvas就是一个画布,可以进行画任何的线、图形、填充等一系列的操作,而且操作的画图就是js,所以让js编程到了嗑药的地步。另外Canvas不仅仅提供简单的二维矢量绘图,也提供了三维的绘图,以及图片处理等一系列的api支持。
二、Canvas中的Context
- 要使用Canvas来绘制图形必须在页面中添加Canvas的标签12345<canvas id="demoCanvas" width="500" height="500"><p>请使用支持HTML5的浏览器查看本实例</p></canvas>
只有上面的标签,只能是创建好了一个画布,其中width 和height 属性就是设置画布的大小。Id属性也是必须的,后面要用Id来拿到当前的 Canvas 的Dom对象。通过此 Canvase 的Dom对象就可以获取他的上下文 (Context) 了, Canvas 绘制图形都是靠着 Canvas 对象的上下文对象
123456<script type="text/javascript">//第一步:获取canvas元素var canvasDom = document.getElementById("demoCanvas");//第二步:获取上下文var context = canvasDom.getContext('2d');</script>Context上下文默认两种绘制方式: 第一种:绘制线(stroke) 第二种:填充(fill)
三、Canvas绘制立体透明矩形
1. Canvas绘制步骤:
- 创建HTML页面,设置画布标签
- 编写js,获取画布dom对象
- 通过canvas标签的Dom对象获取上下文
- 设置绘制样式、颜色
- 绘制矩形,或者填充矩形
|
|
四、Canvas绘制线条
Context 对象的 beginPath 方法表示开始绘制路径,moveTo(x, y)方法设置线段的起点,
lineTo(x, y)方法设置线段的终点,stroke方法用来给透明的线段着色。
moveto和lineto方法可以多次使用。最后,还可以使用closePath方法,自动绘制一条当前点到起点的直线,形成一个封闭图形,省却使用一次lineto方法。
五、Canvas绘制文本
Context上下文对象的fillText(string, x, y)方法是用来绘制文本,它的三个参数分别为文本内容、起点的x坐标、y坐标。使用之前,需用font设置字体、大小、样式(写法类似与CSS的font属性)。与此类似的还有strokeText方法,用来添加空心字。
另外注意一点:
fillText方法不支持文本断行,即所有文本出现在一行内。所以,如果要生成多行文本,只有调用多次fillText方法。
|
|
六、Canvas绘制圆形和椭圆
Context上下文的arc方法就是绘制圆形或者椭圆,arc方法的x和y参数是圆心坐标,radius是半径,startAngle和endAngle则是扇形的起始角度和终止角度(以弧度表示),anticlockwise表示做图时应该逆时针画(true)还是顺时针画(false)。
|
|
七、Canvas绘制图片
Canvas绘制图片应该是他的一大特点或者是亮点吧。当然配合File的API,让JS变得无可匹敌。那接下里给大家演示一下怎样绘制图片,并且做出一个立体效果出来。