2011-01-17 3 views
0

私はCGCOntextを通して円弧を描画しています。中心に文字列を描きたいのですが、円弧の中心点はCGContextを通して描かれた円弧の中点を好きです。CGContextAddArcのmiddlePoint?

   CGContextSetAlpha(ctx, 0.5); 
CGContextSetRGBFillColor(ctx, color.red, color.green, color.blue, color.alpha); 
CGContextMoveToPoint(ctx, cX, cY); 
CGContextAddArc(ctx, cX, cY, radious+10, (startDeg-90)*M_PI/180.0, (endDeg-90)*M_PI/180.0, 0); 
CGContextClosePath(ctx); 
CGContextFillPath(ctx); 

答えて

2

CGContextAddArcの2番目と3番目の引数は、円弧の中心のx座標とy座標です。したがって、このコードでは、中心は点(cX、cY)にあります。

編集

このコードは、xとyとして直接アークの開始点と終了点の間の点の座標を与えます。

CGFloat x = cX + (radious+10) * (cos((startDeg-90)*M_PI/180.0) + cos((endDeg-90)*M_PI/180.0))/2; 
CGFloat y = cY + (radious+10) * (sin((startDeg-90)*M_PI/180.0) + sin((endDeg-90)*M_PI/180.0))/2; 
+0

ハイテク..私は.... radious 2との間にアーク部の中間点をこのコードでは円の中心を求めていませんでした... –

+0

ああ、私はあなたが欲しいものを参照してください。将来の混乱を避けるために、中心点ではなく中間点を求めるために投稿を編集する必要があります。 – ughoavgfhw

関連する問題