问答详情
源自:3-3 Canvas静态的时分秒

画秒针的时候moveTo和rotate顺序不同应该没影响吧 可是如下面内容

ctx.save();
ctx.beginPath();
ctx.fillStyle="red";

var rad = 2 * Math.PI / 60 *second;
ctx.rotate(rad);
ctx.moveTo(-2,20);
ctx.lineTo(2,20);
ctx.lineTo(1,-r / 2 -30);
ctx.lineTo(-1,-r / 2 -30);
// ctx.rotate(rad);

ctx.fill();

ctx.restore();


rotate必须写在moveTo前面才会有旋转效果、注释掉的那一行rotate写在moveTo后面则没发生旋转、指向12点方向。这到底是为什么呢 求解答、感激不尽!

提问者:楚童 2016-11-11 01:35

个回答

  • 追觅梦初的国度
    2016-11-11 16:13:12
    已采纳

    你这个思路有点问题,先rotate的话在哪个角度画,这个角度在变的;先画的话,已经画了,然而角度没变的,所以12点。只是rotate对已经画了的路径不起作用。跟css3中的写法还是有点差异的。。。


    先旋转在画(正确思路);先画在旋转(错误思路);