问答详情
源自:6-3 绘制一角弯月

请问为什么月亮变成了一个大半圆?用stroke画出来没问题,一填色就是半圆

function drawMoon(cxt,x,y,R,rot){
        cxt.save();
        cxt.translate(x,y);
        cxt.scale(R,R);
        cxt.rotate(rot/180*Math.PI);
        moonPath(cxt);
        cxt.fillStyle = "white";
        cxt.fill();
        cxt.restore();
    }

    function moonPath(cxt){
        cxt.beginPath();
        cxt.arc(0,0,1,1.5*Math.PI,0.5*Math.PI,false);
        cxt.moveTo(0,-1);
        cxt.arcTo(1.2,0,0,1,dis(1.2,0,0,-1)/1.2);
        cxt.closePath();

    }

    function dis(x1,y1,x2,y2){
        return Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    }

提问者:其实TAMA酱不是我名字 2016-05-22 11:05

个回答

  • 杜新明
    2016-09-19 12:59:31

     cxt.arc(0,0,1,1.5*Math.PI,0.5*Math.PI,false);

    最后一个参数改成true

  • weibo_懒人壮壮_0
    2016-05-23 12:30:42

    cxt.arc(0,0,1,0.5*Math.PI,1.5*Math.PI,true);