context.transform(1, 0,
-0.5, 1,
, 0);</p> <p>// 在Y轴方向,将阴影高度变为原来的60%
context.scale(1, 0.6);</p> <p>// 使用透明度为20%的黑色填充树干
context.fillStyle = 'rgba(0, 0, 0, 0.2)';
context.fillRect(-5, -50, 10, 50);</p> <p>// 使用已有的阴影效果重新绘制树
createCanopyPath(context);
context.fill();</p> <p>// 恢复之前的canvas状态
context.restore();
文本
context.fillText(text,x,y,maxwidth):text文本内容,x,y指定文本位置,maxwidth是可选参数,限制文本位置。
context.strokeText(text,x,y,maxwidth):text文本内容,x,y指定文本位置,maxwidth是可选参数,限制文本位置。
阴影
可以通过几种全局context属性来控制阴影
| 属性 | 值 | 备注 |
| shadowColor | 任何CSS中的颜色值 | 可以使用透明度(alpha) |
| shadowOffsetX | 像素值 | 值为正数,向右移动阴影;为负数,向左移动阴影 |
| shadowOffsetY | 像素值 | 值为正数,向下移动阴影;为负数,向上移动阴影 |
| shadowBlur | 高斯模糊值 | 值越大,阴影边缘越模糊 |
像素数据
context.getImageData(sx, sy, sw, sh):sx,xy确定一个点,sw:宽度,sh:高度。
这个函数返回三个属性:width 每行有多少个像素 height 每列有多少个像素
data 一堆数组,存有从canvas获取的每个像素的RGBA值(值红、绿、蓝和透明度)。
context.putImageData(imagedata,dx,dy):允许开发人员传入一组图像数据,dx,dy用来指定偏移量,如果使用,则该函数就会跳到指定的canvas位置去更新









