#c# #bitmap #draw #picturebox #geometry
#c# #растровое изображение #рисовать #picturebox #геометрия
Вопрос:
Я искал это, но ничего не смог найти. Идея в том, что у меня есть точка, подобная (52.66, 60.11), и я хочу нарисовать пустой круг с этой точкой в качестве его центра. Я пытался сделать это с помощью DrawEllipse, но его не волнует центр! это просто прямоугольник…Я думаю, следует использовать какую-то формулу преобразования?
Комментарии:
1. Рисование пустого круга?
Ответ №1:
Вы можете вычислить координаты прямоугольника по центру и радиусу:
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);
Ответ №2:
из головы:
RectangleF circle2Rect(Point midPoint, float radius) {
return new RectangleF(midPoint.X-radius,
midPoint.Y-radius,
radius*2,
radius*2);
}
(Это не тестировалось)
Используйте это для преобразования параметра окружности в прямоугольник для рисования.
Ответ №3:
если вы рисуете эллипс с одинаковой высотой и шириной, вы получаете круг, если вам нужно знать координаты верхней левой и нижней правой точек квадрата, в котором нарисован ваш круг, это довольно банально, зная среднюю точку (center).