Я искал это, но ничего не нашел. Идея в том, что у меня есть PointF, например (52.66, 60.11), и я хочу нарисовать пустой круг с этим PointF в качестве центра. Я пытался сделать это с помощью DrawEllipse, но он не заботится о центре! это просто прямоугольник... Я думаю, следует использовать какую-то формулу преобразования?
Рисование круга с использованием PointF в качестве центра С#
comment
Рисовать пустой круг?
- person Dan Byström   schedule 05.04.2011
Ответы (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);
person
Thomas Levesque
schedule
05.04.2011
из ума:
RectangleF circle2Rect(Point midPoint, float radius) {
return new RectangleF(midPoint.X-radius,
midPoint.Y-radius,
radius*2,
radius*2);
}
(Это не проверено) Используйте его, чтобы преобразовать параметр круга в прямоугольник для рисования.
person
user492238
schedule
05.04.2011
если вы рисуете эллипс одинаковой высоты и ширины, вы получаете круг, если вам нужно знать координаты верхней левой и нижней правой точки квадрата, в котором нарисован ваш круг, довольно банально знать среднюю точку (центр) .
person
Davide Piras
schedule
05.04.2011