老师为什么圆的边框也变色

来源:4-10 编程练习

qq_慕瓜7049344

2020-08-23 22:58:17

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        canvas {

            background: skyblue;

        }

    </style>

</head>

<body>

    <canvas id="canvas"></canvas>

    <script>

          /** @type {HTMLCanvasElement} */

          var canvas = document.getElementById('canvas'),

                xt = canvas.getContext('2d');

                canvas.width = '700';

                canvas.height = '700';

                // xt.save();

                xt.arc(300,400,150,0,2*Math.PI,false);

                xt.fillStyle='pink';

                 xt.fill();

                xt.translate(300,400)

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

                    xt.rotate(Math.PI/2);

                    xt.moveTo(0,-150);//圆心在哪 哪里就是原点 

                    xt.lineTo(0,-130);

                }

                

                xt.moveTo(0,0);

                xt.lineTo(80,0);

                xt.moveTo(0,0);

                xt.lineTo(15,-90);

                xt.strokeStyle='blue'

                xt.stroke();

            //    xt.restore();

               

                

    </script>

</body>

</html>


写回答

1回答

好帮手慕慕子

2020-08-24

同学你好, 因为最后绘制的蓝色线影响导致前面绘制的圆,所以圆的边框会变蓝色,建议:在绘制时针之前使用beginPath开启新的绘制路径,避免影响前面绘制的内容。另,效果图中指针颜色是黑色的。需要单独设置颜色。

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

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

0

0 学习 · 6815 问题

查看课程