首页  >  问答  >  正文

javascript - canvas如何在几个同心圆上内部圆的边框颜色不被外部圆的内填充颜色覆盖,想实现如图所示效果

我的代码如下,两种黑色都会将内部圆的边框覆盖掉

<script>
    var canvas = document.getElementById("myCanvas");
    var ctx = canvas.getContext("2d");
    var radius=10;
    for(var a=0;a<3;a++){
        ctx.beginPath();
        ctx.arc(100,100,radius,0,Math.PI*2);
        ctx.strokeStyle="red"
        ctx.stroke()
        ctx.fill()
        ctx.closePath();
        radius+=20
    }
    /*ctx.beginPath();
        ctx.arc(100,100,10,0,Math.PI*2);
        ctx.strokeStyle="green"
        ctx.stroke()
        ctx.fill()
        ctx.closePath();
    ctx.beginPath();![图片描述][1]
        ctx.arc(100,100,30,0,Math.PI*2);
        ctx.strokeStyle="green"
        ctx.stroke()
        ctx.fill()
        ctx.closePath();  */
    </script>
高洛峰高洛峰2771 天前365

全部回复(2)我来回复

  • 巴扎黑

    巴扎黑2017-04-11 13:19:48

    先画外面再画里面,先后顺序理清楚了就好了

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:19:48

    楼上说的是一种办法,其实还有一种办法就是设置多层画布,利用z-index来设置不同画布的z轴高度

    回复
    0
  • 取消回复