2013-11-25 37 views
1

所以我有一個畫在畫布上的圓,它根據設置改變大小。但是,如果該設置設置得太高,則該圓比保留區大,並且與畫布中的其他內容重疊。如何只在特定區域內繪製圓形?

我現在正在清除盒子周圍的區域,但它會導致困難。我基本上必須畫兩次,因爲我需要最後繪製圓。這使得在所述周圍區域中實施點擊動作更困難,因爲點擊被註冊兩次。

TL; RD:我怎樣才能掩蓋掉一部分圓之前我在畫布上繪製它?

回答

0

爲此,您可以使用clip()函數。

 context.rect(50,50,200,200);//the area in which the circle is to be drawn 
     context.save();//saved context so it can be restored later 
     context.clip(); 
     //now draw your circle 
     context.restore(); //remove the clip 

只繪製給定矩形內的區域。

這是關於這個問題的good tutorial

+0

這很有效,雖然我似乎無法清除它。現在只畫圓圈框。 restore()不會執行任何操作。 – user3032989

+0

也許你可以發佈一個簡單的jsfiddle代碼,我們可以建議爲什麼它可能不工作。 –

+0

我可以嘗試,但可能需要一些時間才能從整體中提取該部分。 – user3032989