중심 (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);