为什么这里rotate(30)实现的效果不一样。

来源:4-9 小案例

迎风向上乀

2017-08-25 16:10:59

//时钟表盘绘画
     ctx.translate(400,100);
     ctx.beginPath();
     ctx.arc(0,0,50,0,2*Math.PI,true);
     ctx.stroke();
     ctx.beginPath();
     for(var i=0;i<12;i++){
        ctx.rotate(30);
        ctx.moveTo(40,0);
        ctx.lineTo(50,0);
     }
     
     ctx.stroke();


写回答

2回答

怎么都被占用了呢

2017-08-25

canvas中的rotate方法,旋转角度是以弧度计算的。计算方式是:degrees(角度)*Math.PI/180。上边同学说的 “你这里的30不是30度的意思”是对的哦

0

wykun

2017-08-25

你这里的30不是30度的意思,举个例子,如果你不写Math.PI/6 写成3.14/6那么它代表的就是30度,你可以自己写个3.14/6试试,就会发现接近很多

0

0 学习 · 626 问题

查看课程