求帮我看一下,为什么出来图是这样?

来源:6-1 arc(),圆弧和圆角矩形

TB爱JN

2016-03-22 20:24

function canvas () {
    var canvas=document.getElementById('canvas');
    var ctx=canvas.getContext("2d");
    canvas.width=800;
    canvas.height=800;
        for (var j = 0; j < 4; j++) {
        for (var i = 0; i < 4; i++) {
            fillRoundRect(ctx,170+i*120,170+j*120,100,100,6,"#ccc0b3");
        }
    }
    

}

function fillRoundRect(ctx,x,y,width,height,r,fillColor) {
        if (2*r>width || 2*r>height ) {
            return
        }
        ctx.save();
        ctx.translate(x, y);
        pathRoundRect(ctx,width,height,r)
        ctx.fillStyle = fillColor || "black";
        ctx.fill();
        ctx.restore();
    }

function pathRoundRect(ctx,width,height,r) {
        ctx.arc(width-r, r, r, 1.5*Math.PI,2*Math.PI ,false);
        ctx.lineTo(width, height-r);
        ctx.arc(width-r, height-r, r, 0, 0.5*Math.PI);
        ctx.lineTo(r, height);
        ctx.arc(r, height-r, r, 0.5*Math.PI, 1*Math.PI);
        ctx.lineTo(0, r);
        ctx.arc(r, r, r, Math.PI, 1.5*Math.PI);
        ctx.closePath();
        ctx.restore();
    }
addOnload(canvas);

http://img.mukewang.com/56f1397b0001ee9405520499.jpg

写回答 关注

1回答

  • TB爱JN
    2016-03-22 20:33:10
    function pathRoundRect(ctx,width,height,r) {
     ctx.beginPath();    //少了一个   
    }


Canvas绘图详解

Canvas系列教程第二课,详解Canvas各接口,让同学彻底掌握Canvas绘图

72885 学习 · 422 问题

查看课程

相似问题