1. 程式人生 > >Andoird粗圓環的半徑求取。

Andoird粗圓環的半徑求取。

常常我們寫到一些自定義控制元件時候,需要寫一個圓環。

周所周知Android並沒有直接圓環的寫法。所以我們把Paint線條加粗setStrokeWidth()設定值。然後畫一個圓弧 呼叫canvas.drawArc()就成了圓環了。

那麼這個時候 此圓環的半徑就可以思考一下了。 

一般圓的半徑 很容易的 100X100的矩形內切圓  可得 50為園的半徑

因為此時的線寬度不計就為0.圓半徑就為矩形的一半;

可當為圓環的時候呢

通過這個內切圓環圖,,咋的一看只知道內切圓的半徑為50.圓環肯定也為50啊 那就肯定錯了!。

百度百科 圓環相當於一個空心的圓,空心圓擁有一個小半徑(r),整個圓有一個大半徑(大寫r),整個圓的半徑減去空心圓半徑就是環寬 ;

我們知道環寬也就是Paint的線寬setStrokeWidth();

那麼圓環的半徑呢。網上找了一會沒找到 只找到圓環的面積圓環的周長。不多說就做測試 僅在Andoird API測試。

結果:

圓環的半徑就是 內切圓半徑 減去環寬的一半就為此圓環的半徑 

作圖的畫剛剛符合要求。也就是圖中粉色線條其實是可以看作圓環的圓,只是把線條加大。這麼一看就合理了。