Bogdanov

Статус
  • Активный

Последние сообщения Bogdanov

  • Расширения PHPГрафика для ГИС • 19 ноября 2007 г. 8:54

    Так, ввод в тему… Я делаю векторную карту для нашего города. Использую С++, GD. Все это дело на платформе FreeBSD. Обратился именно в форум PHP, т.к. думаю здесь наиболее быстрее получу ответ, да и проблемы переписать с php на с++ нету, функции GD для С++ и php почти не отличаются.Теперь к делу.....
    Так, ввод в тему…

    Я делаю векторную карту для нашего города. Использую С++, GD. Все это дело на платформе FreeBSD.
    Обратился именно в форум PHP, т.к. думаю здесь наиболее быстрее получу ответ, да и проблемы переписать с php на с++ нету, функции GD для С++ и php почти не отличаются.

    Теперь к делу..

    Ниже я опишу свои предположения, если есть более оптимальный путь, или уже имеются какие-либо готовые библиотеки, скрипты, дайте пожалуйста ссылочки..
    (скриншоты сделаны с сайта maps.google.ru)

    1) отрисовка жд полосы. (См. 1 картинку, отметка 2)
    При рисовании обычной пунктирной линии, получается чушь. Возможно нужно рисовать полигонами?

    2) Отрисовка толстых линий с закруглением (См. 1 картинку, отметка 1, левый нижний угол). На конце линии, она закруглена. Я предполагаю так, что эти линии рисуются полигонами а в конце отрисовывается круг. Причем, сначала рисуется круг, потом окружность(цвета = цвету границы) потом рисуются полигоны с белой заливкой, а потом поверх всего, полигон без заливки цвета границ.

    3) Подпись шрифтами. (См. 1 картинку, отметки 1 и 2 картинку, отметка 3)
    Итак, на втором рисунке, отметка 3, текст рисуется белым цветом, потом применяем к нему blur и поверх рисуем нужным цветом. (буду признателен если еще дадите ссылочку на реализацию blur'a на php, ну или С/С++)
    Судя по первому рисунку, дороги подписываются так: берется каждый символ и наклоняется под определенным углом. (да, и тут еще вопрос, как вычислить длину и ширину текста в пикселах, если используется ttf шрифт?)

    Более, после того как я вкл. отрисовку текста, генерация картинки на сервере увеличивается разв 7-8. (простой текст с заданным углом на прозрачном фоне) Это самая проблемная точка. А если добавить и bblur, то вобще незнаю что будет..

    Я предполагаю, что время генерации картинки увеличивается из-за того, что система пытается каждый раз загрузить шрифт в буфер. Хоть он и весит немного, 100кб, но др. вариантов не приходит в голову…

    Прилагаемые файлы в архиве.