2012-04-08 137 views
1

繪製圓我想只用中心(X,Y)和半徑r畫圓。iOS-與圓心和半徑

我用CGRect畫了一些圈子。當我畫獨立的圈子時它工作正常。但我試圖在圓周上繪製圓圈。

在這種方法的問題是:主要圓是不動的外側圓的準確中心,外側圓使用CGRect/frame製成。

所以請幫助我,如果我們可以只畫使用圓心和半徑的圓。

回答

8

X,Y和半徑是你的變量。

CGRect r; 

r.origin.y = Y-radius; 
r.origin.x = X-radius; 
r.size.width = 2*radius; 
r.size.height 2*radius; 

然後繪製圓在此的CGRect

0

弗朗西斯的回答作品。我唯一要補充的是澄清Y和X是什麼(中心Y和中心X)。這是我最終包括繪圖,並且我也用與外線相同的顏色填充圓。

CGFloat radius = self.bounds.size.height/4.0; 
CGFloat centerX = self.bounds.size.width/2; 
CGFloat centerY = self.bounds.size.height/2; 

CGRect r; 
r.origin.y = centerY-radius; 
r.origin.x = centerX-radius; 
r.size.width = 2*radius; 
r.size.height = 2*radius; 

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetLineWidth(context, 2.0); 
CGContextSetStrokeColorWithColor(context, 
            [UIColor greenColor].CGColor); 
CGContextAddEllipseInRect(context, r); 
CGContextStrokePath(context); 

CGContextSetFillColorWithColor(context, 
            [UIColor greenColor].CGColor); 
CGContextFillEllipseInRect(context, r);