Рисование фигур по точкам - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! меня интересует такой вопрос: как мне нарисовать фигуры по двум точкам. Ниже приведен мой вариант, но у меня за начальную координату берется левый верхний угол. Помогите исправить!
        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;
             }
 
            }
        }
Param =1 линия, 2 - прямоугольник, 3 - эллипс, 4 - окружность.

Решение задачи: «Рисование фигур по точкам»

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;
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы