是context.beginPath();重置了路径吗

来源:4-10 编程练习

凛冬将至0_0

2019-11-21 11:21:31

我在前一步有设置conttext.translate(300,300)平移,在后面画指针的时候为什么context.moveTo(0,0)这个起始为什么不是(300,300),因为重置了路径吗   

context.arc(0,0,100,0,2*Math.PI,true);

      context.fillStyle="pink";

      context.fill();

      context.stroke();

      

        

        context.beginPath();

        for (var i = 0; i < 4; i++) {


            context.rotate(Math.PI / 2);


            context.moveTo(90,0);


            context.lineTo(100,0);


            context.stroke();


        }

        

        context.beginPath();

        context.moveTo(0,0);

        context.lineTo(80,0);

        context.strokeStyle="#00f";

        context.stroke();

        

        context.beginPath();

        context.moveTo(0,0);

        context.lineTo(20,-80);

        context.strokeStyle="#00f";

        context.stroke();


写回答

1回答

好帮手慕慕子

2019-11-21

同学你好, 是因为translate方法会将原点进行平移(300, 300),此时圆心就是圆点,所以你后面moverTo(0, 0)是从圆心开始画的

另,老师测试你粘贴的这段代码, 添加上translate后效果实现是正确的

http://img.mukewang.com/climg/5dd629b009c7f53009060772.jpg

http://img.mukewang.com/climg/5dd629d909cb4e3006600656.jpg

如果帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 6815 问题

查看课程