crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> "Приоткрытие" изображений
Elfinit
  опции профиля:
сообщение 17.3.2009, 16:16
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Стандартный метод загрузки изображения - QImage::load. При достаточно большом изображении занимает довольно длительное время (ощутимое,по крайней мере).
Что заметил в существующих программах. Пикаса, к примеру (имею ввиду Picasa Photo Viewer). При перелистывании фоток если фотка объёмная, то изображение сначала показывается размытым, и через некоторое время заменяется чётким. При этом вроде как никаких кэшированных изображений нет (да если бы и были, на создание миникопии для кэша затрачивалось бы время,не оправданное задачей). Т.е. происходит открытие изображения сначала в плохом качестве, параллельно грузится "полноценная" фотка и заменяется при завершении загрузки. Какое-то "приоткрытие", если можно так сказать.
Другой пример - режим "эскизы страниц" или "диафильм" в винде. Превьюшки опять-таки создаются практически моментально, независимот от того, насколько велика фотка.
Вопрос такой - кто-нибудь что-нибудь знает о программной реализации этого в Qt? Возможно, что-то вроде асинхронного чтения изображений (beginLoad/endLoad какой-нибудь). Или всё-таки показывать сначала картинку плохого качества (будем считать, что она всё-таки есть), при этом запускать поток загрузку полноценной фотки и заменять плохую на полноценную? Выделять это действие в отдельный поток, по-моему, не совсем...Элегантно))) Как-то же это делают)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Elfinit
  опции профиля:
сообщение 17.3.2009, 16:34
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Т.е. например при перелистывании фоток на кажду фотку стартовать отдельный поток, или всегда держать один, который будет ждать запроса?
А что, если переход на следующую фотку будет запрошен раньше,чем загрузится текущая? А в режиме слайд-шоу как предусмотреть все варианты?))
Вообще, в целом не горит, просто жутко интересно, как это делается..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 16:11