Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Рисование линий по кривой Безье


Автор: Andrey_P 22.1.2004, 06:35
Всем привет!
Может кто-нибудь даст совет?

Есть файл формата EMF+ (формат непринципиален, это может быть и
EMF, и WMF, и BMP...)
В нем хранится векторное изображение размером 50*10, задающее тип линии.
Есть какой-нибудь красивый алгоритм вывода этой линии по кривой Безье, формула которой известна?
Как лучше выводить - апроксимируя кривую отрезками или "изгибать" это изображение 50*10 в соответствии с тем, как идет кривая (так было бы намного красивее)?

Автор: Vit 22.1.2004, 19:54
Посмотри в нашем FAQ

Автор: Andrey_P 22.1.2004, 20:45
confused.gif
В FAQ по Delphi ответа на мой вопрос нет,
есть только "как рисовать кривую Безье".
Это не совсем то, что мне нужно.

Если не трудно, приведите конкретную ссылку
(может, я плохо искал?)

Автор: Гость_MBo 23.1.2004, 06:53
Нечто подобное есть в книге Фень Юаня.
Принцип:
1. Получаем координаты вершин графического объекта (BeginPath/рисование/EndPath/GetPathData). В твоем случае, раз объект векторный, наверно, координаты уже имеются.
2. Выводим с использованием неаффинного преобразования. В твоем случае координаты варьируются согласно ходу кривой Безье. Длинные отрезки прямых сначала разбиваются на сегменты.

Автор: poc 21.4.2004, 11:43
Please, напишите код рисования звезды.
Как реализовывается маштабирование объектов при изменении размеров формы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)