Работа с гиф анимацией, И только кошка гуляет сама по себе... )))) |
Здравствуйте, гость ( Вход | Регистрация )
Работа с гиф анимацией, И только кошка гуляет сама по себе... )))) |
Litkevich Yuriy |
29.5.2009, 15:57
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
29.5.2009, 15:58
Сообщение
#12
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
kwisp, я переделал все на QMovie. Тож же самый функционал, потяжеловеснее только. Хотелось бы QImageReader обойтись. Да ну и черт с ним.
У QMovie loopCount () & frameCount () возвращают -1. Зато работает jumpToFrame и nextFrameDelaу. Цитата(kwisp) мда.... сразу мона было позырить сюда Бага то старинная и приоритет высокий. Странно что до сих пор не пофиксили.
Прикрепленные файлы
|
|
|
kwisp |
29.5.2009, 16:03
Сообщение
#13
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
я бы сказал для гифа точно в классе
QGifHandler не перепопределены толком виртуальные функции предка QImageIOHandler в остальных лень смотреть кому интересно в src/plugins/imageformats/ лежат дочерние классы в src\gui\image\ родитель QImageIOHandler У QMovie loopCount () & frameCount () возвращают -1 странно в исходниках они вроде переопределены по своему .... хм.. ну да черт с ними точно. потому что посмотрел я на баги.... многовато их... надо почаще туда лазить а то так голову поломать можно. P.S. кошара зачётная. почитай там в юморе в непридуманных историях есть про кота как раз рассказик. Сообщение отредактировал kwisp - 29.5.2009, 16:07 |
|
|
Rocky |
10.3.2010, 21:28
Сообщение
#14
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Ребят а с тех пор никто с гифками не работал? У меня щас 4.6.1.... а по ходу все тоже самое.. ( Как можно остановить анимацию когда последний кадр? я делал через QMovie... Походу сигнал finished не генерируется... А гифка так вечно и проигрывается, а нужно чтоб она один раз проиграла, и все... Блин(
|
|
|
kwisp |
10.3.2010, 21:58
Сообщение
#15
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
не делал.
посмотри баги может они так и остались. |
|
|
SABROG |
10.3.2010, 23:42
Сообщение
#16
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Узнай количество фреймов:
int QMovie::frameCount () const и лови сигнал: void QMovie::frameChanged ( int frameNumber ) [signal] В слоте проверяй если frameNumber == frameCount(), то вызывай stop(): QTimer::singleShot(0, movie, SLOT(stop()); Чтобы movie успел проиграть последний фрейм и только после этого остановился. А finished() наверно никогда не придет, если в gif'ке стоит свойство играть по кругу. Если даже frameCount() не будет работать, то максимальное количество фреймов всегда можно обновить в слоте на frameChanged() и если новое значение меньше старого, значит пошел второй круг. Сообщение отредактировал SABROG - 10.3.2010, 23:44 |
|
|
Rocky |
11.3.2010, 8:28
Сообщение
#17
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
SABROG, я так пробовал... frameCount всегда возвращает 0. в слоте, соединенном с сигналом frameChanged параметр frameNumber всегда 0. Более того, если этот сигнал соединять, то вообще срывает стэк почемуто =)
Боюсь что поддержки гифоф так и нет... Ладно, напишу свой класс, которому буду просто кормить последовательность картинок... |
|
|
SABROG |
11.3.2010, 10:03
Сообщение
#18
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Выложи проект, посмотрю.
|
|
|
Rocky |
15.3.2010, 9:39
Сообщение
#19
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
SABROG, спасибо но там точно баги. Я гуглил. Чтобы не тратить время просто свой класс написал на основе QLabel которому последовательность картинок передаю..
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 15:14 |