Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.039 c
14-1077868397
Карелин Артем
2004-02-27 10:53
2004.03.28
Чего хотят преподы? Продолжение вопроса из чата.


4-1073414279
Qwet
2004-01-06 21:37
2004.03.28
Зарегистрировать Hotkey которую выбрал


11-1057518741
nice
2003-07-06 23:12
2004.03.28
JPEG из ресурса


6-1074157742
Danilin
2004-01-15 12:09
2004.03.28
Определение IP по MAC


7-1073661424
Marat_Ch
2004-01-09 18:17
2004.03.28
Диспетчер задач





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский