Рисование линий и т.д с возможностью правки

Тема в разделе "Delphi - Multimedia, Графика, Игры", создана пользователем Bazil, 16 фев 2006.

Статус темы:
Закрыта.
  1. Bazil

    Bazil Гость

    Есть задача. Написать программу графического редактора, в котором нарисованные им объекты (линии и прочие) можно было бы изменять (растягивать,сжимать) как в редакторах векторной графики. Подскажите пожалуйста, как это можно реализовать в Delphi.
     
  2. Barmutik

    Barmutik Гость

    Вопрос из разряда как написать программу ... рисуете объекты к примере в PaintBox, запоминаете координаты и потом при выделении объекта с запомненными координатами делаете с ними нужные действия...
     
  3. Bazil

    Bazil Гость

    Конкретизирую вопрос. Например рисуем линию. При обычном рисовании с помощью Image.Canvas весь рисунок представляет собой набор точек, который можно только переместить. Необходимо иметь возможность выделить мышкой начальную, конечную точки или саму линию и в зависимости от выделения переместить выделенный объект. С концами линии более-менее понятно. Каждую из конечных точек можно представить как Image, и заниматься их перемещением. А как представить и выделить мышкой саму линию ?
     
  4. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Нет, ты концептуально не понимаешь подхода.
    Есть набор объектов (линии, кружки и т.д.). Этот набор отрисовывается в окошке (канвасе по вашему :))
    Когда человек рисует линию, ты линию не рисуешь - ты создаешь объект Линия с указанными координатами, добавляешь в список. А обновленный список рисуется уже весь, включая новую линию.
    Когда щелкают мышкой,ты по списку объектов находишь тот что под мышкой, ставишь ему атрибут - Выделен. Такой объект рисуется по другому: подсвечивая выделение и ключевый точки, за какие можно изменять размеры.
    И так далее.
     
  5. Barmutik

    Barmutik Гость

    Храните начальную и конечные кооринаты линии .. при выделении всей линии прост рисуйте нажные Вам значки обозначающие выделения вокруг линии .. и всё .. в чём сложность ?
     
  6. Bazil

    Bazil Гость

    grigsoft
    Со способом хранения объектов в виде списка координат все понятно. Неясности возникают, когда пользователь щелкает мышкой в произвольной точке линии (для него линия - это реальный объект, а не координаты начала и конца) и пытается переместить куда-то ВСЮ линию вместе с концами. Если я правильно понимаю, в этом случае нужен какой-то алгоритм определения принадлежности точек рисунка, которые находятся в месте щелчка мышкой именно той линии, которая описана в списке координат.
     
  7. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Правильно понимаешь. Учебник математики, 9 класс. Уравнение прямой через 2 точки и все остальное. Ну или книжку по основам компьютерной графики, Роджерса например, если мне память не изменяет.
     
  8. Bazil

    Bazil Гость

    Спасибо за консультацию.
     
Загрузка...
Похожие Темы - Рисование линий возможностью
  1. pbnoob
    Ответов:
    2
    Просмотров:
    3.181
  2. ilya00
    Ответов:
    17
    Просмотров:
    1.775
  3. vladden
    Ответов:
    1
    Просмотров:
    1.842
  4. 123456789igor
    Ответов:
    1
    Просмотров:
    1.392
  5. sergg
    Ответов:
    11
    Просмотров:
    4.697
Статус темы:
Закрыта.

Поделиться этой страницей