Название: Анимация Отправлено: QCasper от Март 31, 2006, 10:43 подскажите как лучше всего сделать анимацию. у меня по таймеру кадры обновляются, и я рисую их в QPixmap, для затирания старого изображения делаю QPixmap::fill(QColor(0,0,0,0)) но при этом все зверски мигает. Не подскажете как обновлять его получше (типа QWidget::update) или может использовать что-то другое для вывода? (Рисовать сразу в окно не вариант, несмотря на то что при этом ничего не мигает).
Название: Анимация Отправлено: AlexKiriukha от Март 31, 2006, 12:01 1. Для анимаций можно использовать QMovie.
2. Если он не подходит, то можно посмотреть, как он устроен. 3. Вызов update() несколько раз обычно вызывает один paintEvent() (из документации void QWidget::update () [slot]) Название: Анимация Отправлено: QCasper от Март 31, 2006, 15:42 Цитата: "AlexKiriukha" 1. Для анимаций можно использовать QMovie. 2. Если он не подходит, то можно посмотреть, как он устроен. 3. Вызов update() несколько раз обычно вызывает один paintEvent() (из документации void QWidget::update () [slot]) дело в том, что я каждый кадр отрисовываю сам с помощью QPainter, это все как-то можно связать все? Название: Анимация Отправлено: AlexKiriukha от Март 31, 2006, 16:51 А кадры повторяются? Если да - то их можно кешировать (QPixmapCache, http://doc.trolltech.com/qq/qq12-qpixmapcache.html).
Название: Анимация Отправлено: QCasper от Март 31, 2006, 17:11 Цитата: "AlexKiriukha" А кадры повторяются? Если да - то их можно кешировать (QPixmapCache, http://doc.trolltech.com/qq/qq12-qpixmapcache.html). нет, все кадры разные... я щас уже начал рисовать напрямую на окно, и все равно мигает, че за лажа.... Название: Анимация Отправлено: AlexKiriukha от Март 31, 2006, 17:54 Если у тебя Qt3.x.x, то можно использовать двойной буфер (http://qt.osdn.org.ua/flicker-free.html). В Qt4 вся отрисовка по умолчанию работает через двойной буфер.
Название: Анимация Отправлено: QCasper от Март 31, 2006, 19:10 Цитата: "AlexKiriukha" Если у тебя Qt3.x.x, то можно использовать двойной буфер (http://qt.osdn.org.ua/flicker-free.html). В Qt4 вся отрисовка по умолчанию работает через двойной буфер. я знаю. у меня 4.1.1 Название: Анимация Отправлено: Tirex от Апрель 03, 2006, 18:53 Привет!
Я вот тоже хотя сделать на QWidget анимацию. Есть несколько png файлов (разные). Как это (анимацию) лучше сделать? И еще есть какой нибудь пример работы с QPIcture. какой формат должен быть у файла с командами QPainter, чтобы он мог его загрузить? Может быть через него можно это как то реализовать. |