Чтобы нарисовать круг, используйте g.DrawEllipse
, вот хороший способ его расширения:
public static void DrawCircle(Graphics g, Pen pen, float centerX, float centerY, float radius)
{
g.DrawEllipse(pen, centerX - radius, centerY - radius, radius + radius, radius + radius);
}
Чтобы нарисовать заполненный, просто измените DrawEllipse
на FillElipse
и Pen
на Brush
:
public static void DrawCircleFilled(Graphics g, Brush brush, float centerX, float centerY, float radius)
{
g.FillEllipse(brush, centerX - radius, centerY - radius, radius + radius, radius + radius);
}
Если вы настаиваете на рисовании фигур только линиями, то не бойтесь.Trinagle просто нарисован с тремя линиями, это довольно легко, поэтому я не буду писать это здесь.Что касается круга:
Круг состоит из нескольких сегментов, чем больше сегментов, тем лучше качество круга.Вы можете начать с простого треугольника, затем добавить еще одну линию, и у вас есть квадрат, затем пятиугольник, шестиугольник и так далее.С каждой линией формы оптически больше напоминают окружности.
Как видите, каждая линия покрывает (360 / N) общего угла.Таким образом, вы можете использовать цикл для рисования всех сегментов (линий).