2011-12-18 98 views
0

石英弧,填充,描邊和路徑

我必須創建將是一個圓(如右側圖像上這個例子的側面幾個自定義按鈕:http://dribbble.com/shots/352571-Game-UI-Bottom-Left

我試圖創建使用此代碼的基本形狀:

CGContextSetLineWidth(context, 2.0); 
CGContextAddArc(context, 200, 200, 100, -M_PI_4, M_PI + M_PI_4, 1); 
CGContextAddArc(context, 200, 200, 60, M_PI + M_PI_4,-M_PI_4 , 0); 
CGContextClosePath(context); 
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor); 
CGContextFillPath(context); 
CGContextAddArc(context, 200, 200, 100, -M_PI_4, M_PI + M_PI_4, 1); 
CGContextAddArc(context, 200, 200, 60, M_PI + M_PI_4,-M_PI_4 , 0); 
CGContextClosePath(context); 
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor); 
CGContextStrokePath(context); 

我從來沒有做過一些核芯顯卡,但(僅小東西像畫一個圓圈和東西......)。看起來令人驚訝的是,爲了撫摸它的形狀並且使其疼痛,我必須重新創建路徑。 我想有一些很聰明的方法可以做到這一點嗎? ;) 既然我在這裏,我會畫一些梯度這種形狀,以防萬一它整個的東西複雜化;) 感謝您幫助

回答

1

看看下面的函數來創建一個單一的路徑:

CGPathCreateMutable() 
CGPathAddRect()/CGPathAddRects() 
CGContextAddPath() 

...和性能,記住,如果你要多次繪製緩存此路徑!