Поиск:

Ответ в темуСоздание новой темы Создание опроса
> масштабирование, способ реализации 
:(
    Опции темы
boolean34
Дата 16.5.2012, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 1.11.2011

Репутация: нет
Всего: нет



привет всем!
делаю прогу и не могу определиться со способом реализации.
в общем на форме будет слоями выводиться(рисоваться) различные данные(слой первичных данных, слой результатов обработки , служебная инфа и тд) .
плюс нужна картографическая поддержка по типу гугл/яндекс мэпс с прокруткой и зумированием/масштабированием.

как лучше будет по скорости и качеству: 
1) нарисовать все в bitmap в самом высоком разрешении, и в зависимости от коэффициента масштаба все это дело сжимать спец(сглаживания?) алгоритмами;
2) координаты хранить в массиве и каждый раз рисовать в зависимости от коэффициента масштаба ;
3) ваш вариант.
                                                       ???


PM MAIL   Вверх
Amp
Дата 16.5.2012, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Зависит от того насколько масштабировать собираешься. Если битмап в максимальном масштабе укладывается в некоторые разумные размеры, не знаю, например до 4000x4000, то можно заранее все нарисовать. В общем случае - рисовать нужный регион каждый раз с учетом масштаба. Если отрисовка "тяжелая", то можно еще кэшировать что-нибудь для более гладкой прокрутки. 
PM MAIL   Вверх
drug007
Дата 16.5.2012, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 3.11.2011

Репутация: нет
Всего: 1



Цитата(boolean34 @ 16.5.2012,  13:08)

в общем на форме будет слоями выводиться(рисоваться) различные данные(слой первичных данных, слой результатов обработки , служебная инфа и тд) .
плюс нужна картографическая поддержка по типу гугл/яндекс мэпс с прокруткой и зумированием/масштабированием.

Нечто подобное в планах
Цитата(boolean34 @ 16.5.2012,  13:08)

как лучше будет по скорости и качеству: 
1) нарисовать все в bitmap в самом высоком разрешении, и в зависимости от коэффициента масштаба все это дело сжимать спец(сглаживания?) алгоритмами;
2) координаты хранить в массиве и каждый раз рисовать в зависимости от коэффициента масштаба ;
3) ваш вариант.
                                                       ???

Все зависит от тяжести картинки. Сейчас я использую второй вариант - массив вершин, который выводится на экран с помощью OpenGL, масштабирование решается элементарно средствами самого OpenGL. Но у меня пока плотность информации очень маленькая - только линии и точки выводятся на экран (типа реки, береговой черты и населенных пунктов). В дальнейшем планирую выводить заполненные многоугольники (например суша и море). Тут уже думаю использовать текстуры и масштабирование решать через LODы. Но это все равно ближе ко второму варианту.
В целом первый вариант проще в реализации, но потом сложнее будет масштабировать (тут я имею в виду сам алгоритм). На маленьких объемах он будет быстрее, на больших медленнее второго. Второй вариант более универсален и масштабируем, но сложнее в реализации.
PM MAIL   Вверх
boolean34
Дата 17.5.2012, 05:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 1.11.2011

Репутация: нет
Всего: нет



понял. кто подскажет алгоритмы сглаживания для 1-го варианта?
PM MAIL   Вверх
Amp
Дата 17.5.2012, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Билинейная фильтрация, например.  В билдере не пишу, но думаю, что там должны быть классы для трансформации картинок. Можешь вывести как текстуру с помощью того же OpenGL - он сам отфильтрует. Правда дополнительно придется сгенерировать несколько mip-map уровней, что отразится на потреблении памяти.

Это сообщение отредактировал(а) Amp - 17.5.2012, 12:41
PM MAIL   Вверх
boolean34
Дата 17.5.2012, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 1.11.2011

Репутация: нет
Всего: нет



ок, всем спасибо большое!
PM MAIL   Вверх
Doga
Дата 14.6.2012, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 20.12.2007
Где: Россия, Обнинск

Репутация: нет
Всего: нет



Привет.

Вообще, у класса TImage достаточно неплохие алгоритмы масштабирования. Но если Вам надо что то выдающееся - посмотрите в сторону библиотеки ImageEn. Вот уж, где слаживание, так сглаживание!
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1109 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.