2011-04-05 11 views
1

私はこれを探していましたが、何も見つかりませんでした。アイデアは私がPointF(52.66、60.11)のようなものを持っていて、このPointFを中心に空の円を描きたいのです。私はDrawEllipseでしようとしていたが、それは中心について気にしない!それはちょうど長方形です...私は何らかの変換式を使用すべきだと思いますか?PointFを中心に円を描くC#

+0

空の円を描く? –

答えて

3

あなたが中心と半径から四角形の座標を計算することができます:心のうち

float x = center.X - radius; 
float y = center.Y - radius; 
float width = 2 * radius; 
float height = 2 * radius; 
graphics.DrawEllipse(pen, x, y, width, height); 
1

RectangleF circle2Rect(Point midPoint, float radius) { 
    return new RectangleF(midPoint.X-radius, 
         midPoint.Y-radius, 
         radius*2, 
         radius*2); 
} 

(これはテストされていない) は、パラメータを変換するために使用します円を描く矩形に変換します。

0

円と同じ高さと幅の楕円を描くと、サークルが描画される正方形の左上と右下の点の座標を知る必要がある場合、ポイント(中心)。