老师,请问为什么要在画圆的时候就fill呢?我试了试在最后fill的话只有橙色?

来源:7-2 编程练习

慕勒8522502

2020-06-05 06:03:58

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style>
        canvas{background-color:lightblue;}
    </style>
</head>
<body>
    <canvas id="canvas" width="800px" height="800px">
        您的浏览器不支持canvas
    </canvas>
    <script>
        var canvas=document.getElementById("canvas");
        var context=canvas.getContext("2d");
        //在此处补充代码
        context.arc(400,400,200, 0,Math.PI*2,true);
        context.fill();
        context.clip();

        context.fillStyle = "green";
        context.fillRect(200,200,200,200);

        context.fillStyle = "purple";
        context.fillRect(400,200,200,200);

        context.fillStyle = "pink";
        context.fillRect(400,400,200,200);

        context.fillStyle = "orange";
        context.fillRect(200,400,200,200);


    </script>
</body>
</html>


写回答

1回答

好帮手慕糖

2020-06-05

同学你好,关于同学的问题,可以参考如下理解:

1、可以先去掉下面几个颜色的填充,会发现,因为之前没有设置颜色,默认填充的是黑色。

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

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

2、填充黑色之后,后面又分别填充了4部分的颜色,所以将黑色遮盖了,最后看到的是四个颜色。

3、但若是在最后再填充的话,就会将之前的4个颜色覆盖。而这次不是默认的黑色覆盖是因为使用了最后设置的颜色,橙色,将全部的覆盖了。

4、其实这里可以不要fill填充。直接后面的fillRect分别填充四部分就可以了。

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

0

0 学习 · 6815 问题

查看课程