| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Есть ли альтернатива рисованию на Канве |
| Автор: IvanoffAndrey 8.7.2006, 10:18 |
| В данный момент занимаюсь разработкой программы для визуализации графовых моделей. Долго не думая решил делать все по стандарту на Канве. В принципе рисую только кружочки и линии. Т.е. как бы необходимость в растре у меня отпадает но все равно делаю в нем. Так вот - получается не очень то красиво - растр в Delphi большим слишком мне кажется, квадритики всякие, особенно при рисовании кругов. Не предлагайте антиалиасинги - они все которые я видел очень долгие и туповатые - а программа работает в реальном времени. Возможно ли без последствий каким нибудь образом переделать все в веуторную форму. Может есть компонент для рисования векторной графики. Главное требование что бы был режим рисования pmNotXor - на нем все держится (правда с трудом). Может кто какие еще способы знает чтобы было красиво. |
| Автор: DemoCode 8.7.2006, 10:59 |
OpenGL |
| Автор: IvanoffAndrey 8.7.2006, 12:41 |
| примерно знаю что такое можно спросить конкретный пример: необходимо в режиме pnNotXor начерчить на Image1.Canvas эллипс. Мне этого будет достаточно что бы я зацепился за остальное. |
| Автор: Alexeis 8.7.2006, 15:25 |
| Эту задачу в свое время я уже решил и даже статью-описание своего компанента сделал смотрите здесьhttp://alexei-s1.narod.ru/1.htm |
| Автор: IvanoffAndrey 9.7.2006, 10:38 | ||||
Мда я конечно плохо с этим знаком если знаешь примерчик быстроко антиалиасинка кинь плиз.
Спасибо за сслыку. Занятная программка, но только дело в том что все равно появляется эффект кубиков при рисовании линий. А мне это не нужно, иначе тогда вообще смысл работы пропадает. Вот посмотрите как в CorelDrow выводится линии - кубиками там и не пахнет. Как можно сделать так же. Должен же быть где нибудь такой алгоритм. Пробовал использовать библиотеку RG32 - все нравится кроме того, что нет режима pmNotXor или есть только как его поставить я не смог найти. |
| Автор: Alexeis 9.7.2006, 11:05 |
| IvanoffAndrey, можно использовать antialiasing Добавлено @ 11:07 заменить Все Line и ellipse на их аналоги у меня и библиотечка такая есть, правда с XOR, рисованием я сильно сомневаюсь - будет ли работать? |
| Автор: IvanoffAndrey 9.7.2006, 11:26 | ||
щас проверим. Спасибо. |
| Автор: Alexeis 9.7.2006, 11:37 |
| Ну-ну там 2000 строк кода |
| Автор: IvanoffAndrey 10.7.2006, 06:57 | ||
Мда.... Разобрался я как установить редим pmNotXor : Использовать процедуру с последним параметром pmNotXor ...... var EZLine:TEZLine; ...... procedure TuruPuruClick(......); begin EZLine.SetProp(LineColor:TColor,LineWidth:integer, Transparency,startdistance, antialiasing:boolean[U],cutoff,PenStyle,[U]PenMod) end; ....... antialiasing:boolean - как понял из хелпа говорит - надо ли применять антиалиасинг, но вот незадача, если ставлю true, то линия просто в наглую не рисуется а компьютер издает странные звуки - типа видюху слышно (у меня такое бывает, не знаю почему, но при отображении сложной графики я слышу видюху?). А если не примеять антиалиасинг, то смысл использования этой библиотеки пропадает, все рисуется стандартными методами. Может кто глянет и подскажет как все таки запустить линию с антиалиасингом. |