WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Библеотека векторной графики.

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Библеотека векторной графики.
Ed опубликован 19-11-2001 14:54 MSK   Click Here to See the Profile for Ed   Click Here to Email Ed  
Как у CorelDraw рисовать. Или материал как самому такую библиотеку сделать.
rodion опубликован 20-11-2001 11:20 MSK     Click Here to See the Profile for rodion  Click Here to Email rodion     
Я тоже хочу... Хотя у меня есть начало в виде редактора графов (собственный формат данных), где то в декабре поделюсь.
Ed опубликован 20-11-2001 16:13 MSK     Click Here to See the Profile for Ed  Click Here to Email Ed     
Я то уже пишу такого рода библиотеку, но...
Если взять GDI стандартный, то там есть один ньюанс (по первые с которым я столкнулся). Одновременно нельзя указать стиль и толщину линии. Толщину можно указывть только при сплошном стиле линии. А все остальные стили только если толщина = 1.
al опубликован 20-11-2001 21:07 MSK     Click Here to See the Profile for al  Click Here to Email al     
2Ed: см. http://www.sources.ru/cpp/cpp_dotlinedraw.shtml
Val опубликован 22-11-2001 15:21 MSK     Click Here to See the Profile for Val  Click Here to Email Val     
Поищи на компактах Stingray Objective View неплохая весщ
MaxAGG опубликован 27-11-2001 09:17 MSK     Click Here to See the Profile for MaxAGG  Click Here to Email MaxAGG     
Есть гравицапа.

Это мой freelance проект по векторной графике, называемый Anti-Grain Geometry. Сейчас есть версия V1.2.1 в исходниках собственного производства.

Что это такое. Библиотека векторной графики, удовлетворяющая моим потребностям в микробиологии и не только (вообще-то я не микробиолог, я программер чиста реальный в натуре со страшной силой - ну так вышло просто :-). Что там есть:

- Высококачественный, high-performance Anti-Aliasing для всех графических примитивов.

- Alpha-Blending (сглаживание без alpha-blending'a невозможно).

- Интерполяция цвета для линий и треугольников (и интерполяция alpha тоже).

- устранение эффекта "bleeding" на линиях стыковки сглаженных фигур.

- Плавное изменение толщины линий (градации в 1/16 или 1/32 пиксела)и координат (все координаты в double)

- Аффинные преобразования (поворот, масштабтроавание, сдвиг, зеркальность).

- Есть под win32, но ядро переносимо куда угодно при минимальных затратах. Весь Win-зависимый код строго локализован.

- Есть некоторые demo.

- Делает по скорости Microsoft Direct Animation раз в несколько, а уж про качество и говорить нечего.

В общем, все что надо для научно-инженерной графики (при просто офигительном качестве и скорости). Сайта пока нет, так что пишите, если есть интерес сюда и/или на mcseemagg@yahoo.com

Можно будет использовать в исходниках свободно при соблюдении общепринятых GNU-правил на авторское право. Т.е., распространяется бесплатно AS IS, не продавать (саму AGG), распространять только бесплатно и только со ссылкой на меня, продавать продукты на основе AGG только со ссылкой на меня (или поставлять AGG в исходниках), не менять Copyright в заголовках файлов (добавлять можно), все изменения аккуратно документировать.

Ну как будем продвигать?

McSeem

migel опубликован 27-11-2001 12:24 MSK     Click Here to See the Profile for migel  Click Here to Email migel     
Прям панацея от всех бед...
А со шрифтами как обстоят дела?
MaxAGG опубликован 27-11-2001 18:15 MSK     Click Here to See the Profile for MaxAGG  Click Here to Email MaxAGG     
Панацеи от всех бед не бывает. Например - самый большой рак головы, над которым я сейчас работаю - качественная стыковка линий (начинает проявляться если линия резко меняет наклон при толшине больше 1.5 пиксела).

Шрифты есть векторные - пока что собственного формата, сконвертированные из древних BGI (Borland Graphic Interface) - но это чисто так, чтоб хоть что-то было. Кстати, все аффинные преобразования действуют так же и на текст.

Планирую так же сделать растровый текст, тоже с преобразованиями. Есть еще более простое решение, реализуемое через Win32 GDI. Поскольку весь ренденинг происходит в битмапе (после чего он StretchBlt), то можно создать CompatibleDC и рисовать простой функцией TextOut. Но это решение ломает стройность дизайна и переносимость. В идеале хотелось бы самому научиться растеризовать ttf, fnt, fon и - что было бы особенно ценно - Type1. Но это не сразу - если бы кто нашелся в соавторы - был бы рад.

MaxAGG опубликован 27-11-2001 18:50 MSK     Click Here to See the Profile for MaxAGG  Click Here to Email MaxAGG     
Кстати, есть некий "зачаток" контрола, позволяющий ривовать все то же самое из JavaScript, и прочих там Васиков :-)

migel опубликован 28-11-2001 15:20 MSK     Click Here to See the Profile for migel  Click Here to Email migel     
Через многоугольники с нулевой рамкой не пробывал?
Типа представляеш линии как два прямоугольника и ищеш многоугольник составленный из линий пересечения сторон этих прямоугольников, после вывода линий красиш полученный многоугольник.
MaxAGG опубликован 28-11-2001 23:52 MSK     Click Here to See the Profile for MaxAGG  Click Here to Email MaxAGG     
Да, примерно так и есть, даже проще. Самая неприятная операция - вычисление биссектрисы.
Вообще, можно и так обойтись но уж хотелось бы полного перфекта.
migel опубликован 29-11-2001 11:05 MSK     Click Here to See the Profile for migel  Click Here to Email migel     
А чего с биссектрисой то?
вроде через скалярное произведение векторов без проблем делается?
MaxAGG опубликован 29-11-2001 19:36 MSK     Click Here to See the Profile for MaxAGG  Click Here to Email MaxAGG     
Ну так я ж и говорю, что это самая неприятная проблема - остальное все еще проще :-) Но на самом деле - даже дело не в этом. Просто вся задача очень рутинная и неприятная. По объему кода это будет раза в 2 больше чем собственно рисование линии с Anti-Aliasing'ом.
Gaper опубликован 03-12-2001 20:44 MSK     Click Here to See the Profile for Gaper  Click Here to Email Gaper     
Однако... Народ уже вовсю беседует о векторной графике, а я припоздал на недельку :(

Краткий вывод: в вопросах векторной графики - разброд и шатание, каждый гнёт свой вектор... тьфу!... линию.

А есть ли более менее распространённые решения, типа упоминаемой Stingray? Кстати, а какой конкретно класс? Или у меня версия старенькая (6.0) ?

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.