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

来源:3-3 Canvas静态的时分秒

楚童

2016-11-11 01:35

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点方向。这到底是为什么呢 求解答、感激不尽!

写回答 关注

1回答

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

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


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

    楚童

    非常感谢!

    2016-11-12 14:37:14

    共 4 条回复 >

Canvas 绘制时钟

canvas画出漂亮的时钟,通过本教程能重新掌握一些几何知识

49751 学习 · 160 问题

查看课程

相似问题