Gif-анимация не воспроизводится в приложении Kivy

#python #animation #gif #kivy

#python #Анимация #gif #kivy

Вопрос:

Я пишу приложение kivy, игру, в верхней части которой есть анимированный gif, который должен воспроизводиться в цикле, как это происходит в Finder и т.д. При загрузке в графический интерфейс kivy отображается только один кадр. Я новичок в kivy и был бы признателен за некоторую помощь в решении этой проблемы. Я использую файл .kv для загрузки изображения:

     Image:
    source: 'spaceshipgif.gif'
    allow_stretch: True
  

Я изучил документацию на веб-сайте kivy и поискал вокруг, но безрезультатно.

Ответ №1:

Я не помню точно, каков статус воспроизведения gif-файлов — они должны работать в принципе, но некоторые из наших провайдеров справляются с этим лучше других. Насколько я помню, это могло бы работать лучше, если бы вы скомпилировали kivy с PIL в качестве поставщика изображений. Я думаю, что некоторые из этих проблем могут быть вызваны технически некорректными gif-файлами, которые плохо обрабатываются поставщиком по умолчанию, но я не уверен в этом.

Лучшее решение — вместо этого поместить рамки .gif в виде изображений в zip-файл и указать путь к этому zip-файлу в качестве пути к изображению в вашем виджете. Kivy автоматически анимирует их для вас, в том числе упрощает изменение скорости анимации (или ее приостановку), не ограничиваясь проблемами с gif-файлами.

Комментарии:

1. ZIP-файл отлично сработал! Но теперь, когда я изменяю размер окна, изображение становится черным, есть ли способ остановить это?

2. Похоже на ошибку. Можете ли вы сообщить об этом в репозитории kivy на github на простом примере?

3. попробуйте проверить, когда изменяется размер экрана, и обновляйте экран в любое время, когда изменяется размер экрана.

4. Привет @ inclement как мне использовать другого поставщика изображений, поскольку у меня аналогичная проблема. Как мне проверить, какая из них используется в данный момент? Спасибо