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

来源:6-3 绘制一角弯月

其实TAMA酱不是我名字

2016-05-22 11:05

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));
    }

写回答 关注

2回答

  • 杜新明
    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);

Canvas绘图详解

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

72881 学习 · 422 问题

查看课程

相似问题