ちょうど中心(x、y)と半径rを使って円を描きたい。iOS-中心と半径を持つ円を描く
CGRect
を使用していくつかの円を描きました。独立した円を描くとうまくいく。しかし、私は円の周囲に円を描こうとしています。
このアプローチでは、問題は次のとおりです。外側の円はCGRect/frame
を使用して作成されるため、メインサークルは外側の円の中心を正確に移動しません。
ですから、中心と半径を使用して円を描くことができれば助けてください。
ちょうど中心(x、y)と半径rを使って円を描きたい。iOS-中心と半径を持つ円を描く
CGRect
を使用していくつかの円を描きました。独立した円を描くとうまくいく。しかし、私は円の周囲に円を描こうとしています。
このアプローチでは、問題は次のとおりです。外側の円はCGRect/frame
を使用して作成されるため、メインサークルは外側の円の中心を正確に移動しません。
ですから、中心と半径を使用して円を描くことができれば助けてください。
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
フランチェスコの答えの作品に円を描きます。私が追加する唯一のことは、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);