Russian Qt Forum
Ноябрь 25, 2024, 10:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Анимация из картинок  (Прочитано 8072 раз)
QCasper
Гость
« : Ноябрь 24, 2006, 16:59 »

Подскажите, пожалуйста, решение для следующего:
Есть туева хуча картинок (например *.bmp) скажем штук тыща, все картинки являются кадрами некого видео ролика, т.е. если их начать просматривать со скоростью 24 картинки в секунду, то ролик можно посмотреть. Собсно это и надо реализовать. Казалось бы, что может быть проще грузи да смотри, но тут возникают две проблемы. Если каждый раз создавать объект QImage со следующей картинкой и его рисовать, то это на 24 кадра в секунду не потянет. Если загрузить весь этот хлам в память, то сами понимаете: 1000 картинок * 1М ~ 1Г - никакой памяти не напасешься... вот и собсно вопрос, как же сделать то?
Записан
Dendy
Гость
« Ответ #1 : Ноябрь 24, 2006, 18:23 »

Всё зависит от скорости загрузки картинок + скорости рисования. Что в итоге сводится к проблеме больших картинок (долго грузить + долго рисовать). Если ето и есть камень преткновения, то единственньІй вьІход - перегнать в видео формат. Например, в Theora: http://www.theora.org

Ещё можешь попробовать перекодировать в PNG. Скорость загрузки меньше процентов на 5, зато занимает гораздо меньше места. (При картинках 1024х1024 BMP формат потребует 4Мб: 4*25 = 100 метров в секунду - не каждьІй винт потянет.)

Какой размер картинок хоть?
Записан
QCasper
Гость
« Ответ #2 : Ноябрь 24, 2006, 22:54 »

Цитата: "Dendy"
Всё зависит от скорости загрузки картинок + скорости рисования. Что в итоге сводится к проблеме больших картинок (долго грузить + долго рисовать). Если ето и есть камень преткновения, то единственньІй вьІход - перегнать в видео формат. Например, в Theora: http://www.theora.org

Ещё можешь попробовать перекодировать в PNG. Скорость загрузки меньше процентов на 5, зато занимает гораздо меньше места. (При картинках 1024х1024 BMP формат потребует 4Мб: 4*25 = 100 метров в секунду - не каждьІй винт потянет.)

Какой размер картинок хоть?


Размер 720*576, весят примерно по метру.
Записан
Tonal
Гость
« Ответ #3 : Ноябрь 25, 2006, 12:58 »

Может QMovie поможет?
Записан
QCasper
Гость
« Ответ #4 : Ноябрь 25, 2006, 18:25 »

Цитата: "Tonal"
Может QMovie поможет?


А что ему скармливать? что-то у меня на все гифы метод QMovie::isValid() false возвращает.
Записан
Dendy
Гость
« Ответ #5 : Ноябрь 25, 2006, 19:31 »

Определи узкое место. Замерь с помощью QTime время загрузки с диска в QImage и время блитинга последнего на екран.

В своё время делал анимацию из папки с картинками 640х480. Без проблем.
Записан
Tonal
Гость
« Ответ #6 : Ноябрь 26, 2006, 17:10 »

Цитата: "QCasper"
Цитата: "Tonal"
Может QMovie поможет?


А что ему скармливать? что-то у меня на все гифы метод QMovie::isValid() false возвращает.

Он умеет gif и mng.
Если перегнать все твои картинки в любой из этих форматов им можно будет воспользоваться.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #7 : Ноябрь 27, 2006, 14:20 »

вы глянте
у вас qt с поддержкой gif собрано?
а то gif то коммерческий стандарт
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.23 секунд. Запросов: 22.