Название: Работа с матрицей изображений 100x100 Отправлено: excly от Апрель 26, 2014, 00:27 Добрый вечер. Есть матрица изображений 100x100 каждое из которых имеет размер 4000x4000px. Допустим это фото карты местности. Необходимо динамически подгружать необходимые в данный момент картинки(то есть те, которые в данный момент видит пользователь), плавно скроллить и масштабировать. Подскажите пожалуйста какие классы лучше всего для этого использовать и в вкратце как реализовать. Спасибо
Название: Re: Работа с матрицей изображений 100x100 Отправлено: Old от Апрель 26, 2014, 10:06 Поищите по форуму и по всему интернету: организация тайловых карт.
Очень часто применяется в игростроительстве, только размеры тайлов там поменьше. Для Qt это можно сделать и с самостоятельным рисованием всего и с Qt Graphics Framework. Название: Re: Работа с матрицей изображений 100x100 Отправлено: excly от Май 06, 2014, 23:48 А имеет ли смысл порезать данные изображения на более мелкие? есть ли в сети примеры реализации чего-то похожего. Просто я не нашел ничего подобного
Название: Re: Работа с матрицей изображений 100x100 Отправлено: Igors от Май 07, 2014, 10:04 А имеет ли смысл порезать данные изображения на более мелкие? Нарезка на страницы выполняется в памяти (а не на диске). Примерный сценарий- грузим всю картинку целиком - заводим выгружаемые страницы и копируем в них тайлы - удаляем всю картинку Теперь при обращении к пикселю можно подгрузить нужный тайл. Работы там хватает, поэтому такой механизм используют когда необходимо иметь в данный момент любое число картинок. Если же число одновременно показываемых картинок ограничено, то гораздо проще оперировать с целыми картинками (см напр QCache) Название: Re: Работа с матрицей изображений 100x100 Отправлено: excly от Май 07, 2014, 14:12 Цитировать Если же число одновременно показываемых картинок ограничено, то гораздо проще оперировать с целыми картинками (см напр QCache) Больше одной картинки одновременно показываться не будет, они же большие(4000x4000px). они будут фоном, а сверху на них будут расположены другие графические элементыНазвание: Re: Работа с матрицей изображений 100x100 Отправлено: Igors от Май 08, 2014, 10:00 Больше одной картинки одновременно показываться не будет, они же большие(4000x4000px). они будут фоном, а сверху на них будут расположены другие графические элементы Это всего лишь 64Мб, такая доступная память везде есть. Простейшее решение - держать в памяти только 1 картинку.Название: Re: Работа с матрицей изображений 100x100 Отправлено: Old от Май 08, 2014, 10:46 Больше одной картинки одновременно показываться не будет, они же большие(4000x4000px). они будут фоном, а сверху на них будут расположены другие графические элементы Тайловая организация удобна для организации плавной прокруктки, например, пользователь сдвигает карту вправо, подгружается изображение которое должно появиться слева.Рассчитывается все элементарно. Вот ссылка на подобное обсуждение: http://www.prog.org.ru/topic_8794_0.html |