Вниз
Скачать: 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.022 c
4-1074451535
DillerXX
2004-01-18 21:45
2004.03.28
Как вставить текст из буфера обмена?


8-1069288172
iNT24h
2003-11-20 03:29
2004.03.28
Plugin for Winamp 2x


14-1078144274
Andersen
2004-03-01 15:31
2004.03.28
Кто в кошку от кота отличить сможет?


1-1078502229
APXi
2004-03-05 18:57
2004.03.28
SelectDirectory


1-1078923420
Man
2004-03-10 15:57
2004.03.28
как работать с форматом p3




   Наверх