Canvas---clearRect()清除圆形区域
Posted waterfowl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canvas---clearRect()清除圆形区域相关的知识,希望对你有一定的参考价值。
function clearArcFun(x,y,r,cxt){ //(x,y)为要清除的圆的圆心,r为半径,cxt为context var stepClear=1;//别忘记这一步 clearArc(x,y,r); function clearArc(x,y,radius){ var calcWidth=radius-stepClear; var calcHeight=Math.sqrt(radius*radius-calcWidth*calcWidth);
var posX=x-calcWidth; var posY=y-calcHeight; var widthX=2*calcWidth; var heightY=2*calcHeight; if(stepClear<=radius){ cxt.clearRect(posX,posY,widthX,heightY); stepClear+=1; clearArc(x,y,radius); } } }
利用的方法是将圆形切成很多个平行的矩形,然后从中间到圆的两端进行逐渐递减的操作
代码引用自:
html5 canvas拓展clearRect()实现圆形区域清理
以上是关于Canvas---clearRect()清除圆形区域的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode1560. 圆形赛道上经过次数最多的扇区(C++)