Вниз
Скачать: CL | DM;

Вопрос по векторному редактору   Найти похожие ветки 

← →
niva   (2003-11-15 09:40) [0]

Пишется векторный редактор. Создаются векторные примитивы такие как линия, прямоугольник, эллипс, дуга. Нужно реализовать поворот для них. Для линии и прямоугольника вроде все просто. Поворачиваем каждую точку и выводим линию тем же методом что и неповернутую то есть LineTo и MoveTo, а прямоугольник методом Polygon. А вот как быть с дугой и эллипсом? Ведь если рисовать их когда они не повернуты то все просто делается методами канвы Arc и Ellipse. После поворота это не пройдет. Под NT есть функция SetWorldTransform но программу нужно будет использовать и под 95-ыми. Может кто сталкивался с подобным? Спасибо.


← →
MBo ©   (2003-11-15 13:40) [1]

эллипсы и дуги рисуются в недрах Windows как кривые Безье - эллипс - 4 таких кривых, дуги - в зависимости от углового размера. Поэтому можно самому аппроксимировать дуги и эллипсы кривыми Безье, и проводить аффинное преобразование поворота над их контрольными точками.


← →
LastLamer ©   (2003-11-16 04:15) [2]

У меня похожие трудности были :Р Здесь все зависит от того как представлены примитивы - по контрольным точкам либо коэффициентами уравнений. Вообще если поворот будет только относительно центра объекта, то проблем особых нет, а если относительно любой - после поворота координаты контрольных точек примитива должны пересчитываются. Дугу окружности можно хранмть по 3-м точкам, кривую безъе по 4-м (как минимум), а при выводе пересчитывать для передачи в функции канвы.


← →
dgr   (2003-11-22 13:41) [3]

А как сделать ту же Line? чтобы ее можно было выделить мышкой на экране? Т.е., чтобы мой визуальный объект TmyLine отловил событие OnClick


← →
Fenik ©   (2003-11-22 16:08) [4]

По координатам. Зная координаты начала и конца линии, можно узнать принадлежит ли точка клика этой линие или нет. Все просто.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
3-1077192527
denmin
2004-02-19 15:08
2004.03.28
Помогите завязать таблицы Paradox и SQL Server 2000


1-1079016846
serg1977
2004-03-11 17:54
2004.03.28
заставка


3-1077696063
Asdor
2004-02-25 11:01
2004.03.28
Про TClientDataset...


3-1077184074
maratvg
2004-02-19 12:47
2004.03.28
Компоненты для работы с клиент-серверными базами данных


14-1078217556
Goida
2004-03-02 11:52
2004.03.28
Плохой Visual Studio :((




   Наверх