当前位置: 代码迷 >> Web前端 >> canvas中的rotate运用
  详细解决方案

canvas中的rotate运用

热度:324   发布时间:2012-09-22 21:54:54.0
canvas中的rotate使用
rotate 用于旋转canvas画布,以canvas的原点为中心进行旋转.如果想改变canvas的原点位置,可以使用translate进行修改

如下所示
var cxt=canvas.getContext("2d");
cxt.fillStyle="rgb(250,0,0)";
cxt.fillRect(0,0,20,50);
cxt.translate(100,100);   
for(var i=0;i<12;++i)
{
   cxt.rotate(Math.PI/6); //旋转30度,其中Math.PI表示为180度  
   cxt.fillRect(0,0,20,50);
}

上面的示例为旋转30度画一个20,50的红色矩形
translate(100,100),将canvas的原点转移到坐标为(100,100),相当于canvas的(0,0)坐标在(100,100)坐标位置上,我们只需要将(100,100)看成是canvas的原点坐标就行了。。
rotate旋转,是以x轴进行旋转的,正数为顺时针,负数为逆时针旋转。切记,在旋转后,图形的x,y值是以旋转后的x,y进行定义的。


附件为示例的效果