Рисование фигур по точкам - C#
Формулировка задачи:
Здравствуйте! меня интересует такой вопрос: как мне нарисовать фигуры по двум точкам.
Ниже приведен мой вариант, но у меня за начальную координату берется левый верхний угол. Помогите исправить!
Param =1 линия, 2 - прямоугольник, 3 - эллипс, 4 - окружность.
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { //определяем координаты if (Param != 1) { x_MouseDown = e.X; y_MouseDown = e.Y; offon = true; } Graphics g = Graphics.FromHwnd(pictureBox1.Handle); Pen myPen = new Pen(Color.Black,3); if (Param == 1) {//рисование линии x_MouseDown_2 = e.X; y_MouseDown_2 = e.Y; if (offon == false) { x_MouseDown_1 = x_MouseDown_2; y_MouseDown_1 = y_MouseDown_2; offon = true; } else { g.DrawLine(myPen, x_MouseDown_1, x_MouseDown_2, y_MouseDown_1, y_MouseDown_2); x_MouseDown_1 = x_MouseDown_2; y_MouseDown_1 = y_MouseDown_2; } if (Param == 2) { x_MouseDown_1 = e.X; y_MouseDown_1 = e.Y; } if (Param == 3) { x_MouseDown_1 = e.X; y_MouseDown_1 = e.Y; } if (Param == 4) { x_MouseDown_1 = e.X; y_MouseDown_1 = e.Y; } } }
Решение задачи: «Рисование фигур по точкам»
textual
Листинг программы
enum Figure { Line, Triangle, Circle, Square, Polygon } Figure currentFigure; void DrawFigure() { switch (currentFigure) { case Figure.Line: { } break; case Figure.Triangle: { } break; case Figure.Circle: { } break; case Figure.Square: { } break; case Figure.Polygon: { } break; default: break; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д