Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: QCasper от Ноябрь 24, 2006, 16:59



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


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

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

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


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

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

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


Размер 720*576, весят примерно по метру.


Название: Анимация из картинок
Отправлено: Tonal от Ноябрь 25, 2006, 12:58
Может QMovie поможет?


Название: Анимация из картинок
Отправлено: QCasper от Ноябрь 25, 2006, 18:25
Цитата: "Tonal"
Может QMovie поможет?


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


Название: Анимация из картинок
Отправлено: Dendy от Ноябрь 25, 2006, 19:31
Определи узкое место. Замерь с помощью QTime время загрузки с диска в QImage и время блитинга последнего на екран.

В своё время делал анимацию из папки с картинками 640х480. Без проблем.


Название: Анимация из картинок
Отправлено: Tonal от Ноябрь 26, 2006, 17:10
Цитата: "QCasper"
Цитата: "Tonal"
Может QMovie поможет?


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

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


Название: Анимация из картинок
Отправлено: Admin от Ноябрь 27, 2006, 14:20
вы глянте
у вас qt с поддержкой gif собрано?
а то gif то коммерческий стандарт