Нарисовать прямую линию, заданную курсором - PascalABC.NET
Формулировка задачи:
Добрый день. У меня вопрос:"Как нарисовать прямую линию, заданную курсором?" То есть, я пытаюсь сделать линии, типа "paint", к сожалению, у меня немного не получается присваивать значения x1,y1,x2,y2 так, чтобы линии рисовались правильно, можете подсказать как это реализовать?
Решение задачи: «Нарисовать прямую линию, заданную курсором»
textual
Листинг программы
procedure Form1.ptrB_MouseUp(sender: Object; e: MouseEventArgs); var graph: Graphics; begin graph:= Graphics.FromImage(ptrB.Image); var st := new Point(Min(start.X, finish.X), Min(start.Y, finish.Y)); var fn := new Point(Max(start.X, finish.X), Max(start.Y, finish.Y)); graph.DrawRectangle(new Pen(Color.Red), new Rectangle(st.X, st.Y, fn.X - st.X, fn.Y - st.Y)); ptrB.Invalidate(); drw:=False; end;
Объяснение кода листинга программы
- При нажатии кнопки мыши, вызывается процедура ptrB_MouseUp.
- В этой процедуре создается объект типа Graphics, который будет рисовать на изображении.
- Создаются две новые точки: st и fn.
- Точка st содержит координаты левого верхнего угла будущей линии.
- Точка fn содержит координаты правого нижнего угла будущей линии.
- Используя объект типа Graphics, рисуется прямоугольник, который будет представлять линию.
- Для рисования используется новый объект Pen с цветом Red.
- Координаты прямоугольника задаются с помощью нового объекта Rectangle, используя точки st и fn.
- Изображение на форме ptrBInvalidated, чтобы обновить его.
- Флажок drw устанавливается в False.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д