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()实现圆形区域清理

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM