美文网首页
canvas圆角矩形

canvas圆角矩形

作者: 下班再说 | 来源:发表于2022-07-05 17:23 被阅读0次

    // 圆角矩形start

    drawRoundRectPath(cxt,width,height,radius){

    cxt.beginPath(0);

    //从右下角顺时针绘制,弧度从0到1/2PI 

    cxt.arc(width-radius,height-radius,radius,0,Math.PI/2);

    //矩形下边线 

    cxt.lineTo(radius,height);

    //左下角圆弧,弧度从1/2PI到PI 

    cxt.arc(radius,height-radius,radius,Math.PI/2,Math.PI);

    //矩形左边线 

    cxt.lineTo(0,radius);

    //左上角圆弧,弧度从PI到3/2PI 

    cxt.arc(radius,radius,radius,Math.PI,Math.PI*3/2);

    //上边线 

    cxt.lineTo(width-radius,0);

    //右上角圆弧 

    cxt.arc(width-radius,radius,radius,Math.PI*3/2,Math.PI*2);

    //右边线 

    cxt.lineTo(width,height-radius);

    cxt.closePath();

    },

    fillRoundRect(cxt,x,y,width,height,radius,fillColor){

    letthat=this;

    //圆的直径必然要小于矩形的宽高         

    if(2*radius>width||2*radius>height){returnfalse;}

    cxt.save();

    cxt.translate(x,y);

    //绘制圆角矩形的各个边 

    that.drawRoundRectPath(cxt,width,height,radius);

    cxt.fillStyle=fillColor||"#000";//若是给定了值就用给定的值否则给予默认值 

    cxt.fill();

    cxt.restore();

    },

    // 圆角矩形end

    相关文章

      网友评论

          本文标题:canvas圆角矩形

          本文链接:https://www.haomeiwen.com/subject/egisbrtx.html