前提
- 在html中写入标签
<canvas id='canvas' width='200' height='300'></canvas>
- 在
<script></script>
中获取<canvas>
标签并绘制环境。
var canvas=document.getElementById('canvas')
var context=canvas.getContext('2d');
canvas可以分为2步:绘制和填充。
对于矩形来说,绘制是fillRect()
和strokeRect()
方法。对于路径来说是stroke()
和fill()
方法。而两者共有的属性是strokeStyle
和fillStyle
用于填充以及clearRect()
方法。clearRect()
可以接受4个参数。
绘制路径
绘制路径必须先调用beginPath()方法。表示开始绘制新的路径。绘制的时候要调用stroke()
或者fill()
方法,填充的时候要调用strokeStyle
或者fillStyle属性
,提笔在另一个位置绘制的时候要用moveTo()
方法。
绘制直线用lineTo()
方法,绘制圆用arc(圆心的x坐标,圆心的y坐标,半径,圆环开始的坐标,圆环结束的坐标,顺时针还是逆时针)
剪切用clip()
方法,清除用clearRect()
方法。
绘制文本
context.font='bold 14px Arial'
context.textAlign='center/start/end'
context.textBaseline='middle/bottom/top'
context.fillText('12',100,20)
context.strokeText('12',100,30)
变换
translate(x,y)执行这个方法后,圆点由(0,0)变换为指定的坐标。
阴影
context.shadowColor='rgba(0,0,0,0.5)'
context.shadowBlur=4;//模糊度
context.shadowOffsetY=5;
context.shadowOffsetX=4;//形状或路径沿y轴方向的偏移量。默认为0
渐变
- 设置
var gradient=context.createLinerGradient(30,30,70,80)//线性渐变开始位置和结束位置
- 使用
使用addColorStop();来指定色标,这个方法接收两个参数:色标位置和css颜色值。其中色标位置是一个0(开始颜色)和1(结束颜色)之间的数字。
gradient.addColorStop(0,'white')
gradient.addColorStop(1,'blue')