我正在寻找这个,但我找不到任何东西。这个想法是我有一个PointF(52.66,60.11),我想用这个PointF作为中心绘制一个空圆。我试图用DrawEllipse但它并不关心中心!它只是一个矩形...我认为应该使用某种转换公式?
答案 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)
如果您绘制一个具有相同高度和宽度的椭圆,则会得到一个圆,如果您需要知道绘制圆的正方形的左上角和右下角的坐标,那么知道中间点是非常平庸的(中心)。