Нарисовать прямую линию, заданную курсором - 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;

Объяснение кода листинга программы

  1. При нажатии кнопки мыши, вызывается процедура ptrB_MouseUp.
  2. В этой процедуре создается объект типа Graphics, который будет рисовать на изображении.
  3. Создаются две новые точки: st и fn.
    • Точка st содержит координаты левого верхнего угла будущей линии.
    • Точка fn содержит координаты правого нижнего угла будущей линии.
  4. Используя объект типа Graphics, рисуется прямоугольник, который будет представлять линию.
    • Для рисования используется новый объект Pen с цветом Red.
    • Координаты прямоугольника задаются с помощью нового объекта Rectangle, используя точки st и fn.
  5. Изображение на форме ptrBInvalidated, чтобы обновить его.
  6. Флажок drw устанавливается в False.

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


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

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

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