使用PointF作为中心绘制圆圈c#

时间:2011-04-05 09:03:44

标签: c# bitmap draw picturebox geometry

我正在寻找这个,但我找不到任何东西。这个想法是我有一个PointF(52.66,60.11),我想用这个PointF作为中心绘制一个空圆。我试图用DrawEllipse但它并不关心中心!它只是一个矩形...我认为应该使用某种转换公式?

3 个答案:

答案 0 :(得分:4)

您可以从中心和半径计算矩形的坐标:

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 :(得分:1)

心不在焉:

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

(未经测试) 使用它将圆的参数转换为矩形以进行绘制。

答案 2 :(得分:0)

如果您绘制一个具有相同高度和宽度的椭圆,则会得到一个圆,如果您需要知道绘制圆的正方形的左上角和右下角的坐标,那么知道中间点是非常平庸的(中心)。