你可以对任何在HTML5 canvas中绘制的图形应用转换效果。下面是可以使用的转换列表:
移动
旋转
缩放
移动
我们可以将绘制在canvas上的任何图形进行移动操作。移动意味着要重新定位绘制的图形。下面是一个示例代码:
var x = 100;
var y = 50;
context.translate(x, y);
上面的代码将canvas中已经绘制的所有元素在水平方向上移动100,在垂直方向上移动50。
注意:移动操作仅仅对那些在translate()函数被调用之后才绘制的图形有效果,之前绘制的图形是不会移动的。
下面是另一个例子。两个矩形被绘制于同样的坐标系,长度和宽度也相等。但是其中一个绘制在translate()函数之前,另一个绘制在translate()函数之后。来看看效果:
context.fillStyle = "#f62459";
context.fillRect(10,10, 100, 100);
context.translate(50, 25);
context.fillStyle = "#4183d7";
context.fillRect(10,10, 100, 100);
得到的结果如下图所示:
你的浏览器不支持HTML5 Canvas!
旋转
你也可以将绘制在canvas上的元素进行旋转。旋转操作可以通过2D上下文的rotate()函数来完成。
context.rotate(radians);
旋转的角度作为参数传递到rotate()函数中。这个角度必须是一个弧度值ÿ