Вопрос наивный... Ответ: РУКАМИ! А точнее всё намного проще ... У тебя есть окно для рисования, у него координаты есть, ты их преобразуешь так, чтобы один угол был (0,0), а другой (1,1) - к примеру. Потом при нажатии на мышку фиксируешь точку (А,Б) и при отпускани вторую - (В,Г). В какой-то массив заносишь структуру где будет храниться первая и вторая точка. Для удобства можно сделать так:
| Код | type TMyPoint = record x : double; y : double; end; TFigure = record Points : array of TMyPoint; Params : array of integer; Type : integer; Colors : array of TColor; end;
|
В Type заносишь тип фигуры (линия, круг, прямоугольник), в Colors - цвета (если их может быть несколько, например - цвет фона и линии), в Params - да хоть радиус окружности, если ты будешь делать поддержку окружностей (иии эллипсы)...А потом по этим данным восстанавливаешь фигуру - у тебя есть только вектора по сути, их рисовать можно с каким-либо коэффициентом пропорциональности (у тебя же значения от 0 до 1)... |