Тип QML AnimatedImage
Воспроизводит анимации, сохранённые как серия изображений Подробнее...
| Заявление об импорте: | import QtQuick 2.7 |
| Наследует: |
Свойства
- currentFrame : int
- frameCount : int
- paused : bool
- playing : bool
- source : url
Подробное описание
Тип AnimatedImage расширяет возможности типа Image, предоставляя способ воспроизведения анимаций, хранящихся как изображения, содержащие серию кадров, такие как те, что хранятся в файлах GIF.
Информация о текущем кадре и общей длительности анимации может быть получена с помощью свойств currentFrame и frameCount. Вы можете начать, приостановить и остановить анимацию, изменив значения свойств playing и paused.
Полный список поддерживаемых форматов можно определить с помощью QMovie::supportedFormats().
Пример использования
Следующий QML демонстрирует, как отобразить анимированное изображение и получить информацию о его состоянии, например, о текущем кадре и общем количестве кадров. Результатом является анимированное изображение с простым индикатором прогресса под ним.
Примечание: При кэшировании анимированных изображений каждый кадр анимации будет кэширован.
Установите cache в значение false, если вы воспроизводите длинную или большую анимацию и хотите сэкономить память.
Если данные изображения поступают из последовательного устройства (например, из сокета), AnimatedImage может циклически повторять только если cache имеет значение true.
import QtQuick 2.0
Rectangle {
width: animation.width; height: animation.height + 8
AnimatedImage { id: animation; source: "animation.gif" }
Rectangle {
property int frames: animation.frameCount
width: 4; height: 8
x: (animation.width - width) * animation.currentFrame / frames
y: animation.height
color: "red"
}
} См. также BorderImage и Image.
Документация по свойствам
currentFrame : int
currentFrame — это кадр, который в данный момент отображается. Отслеживая это свойство на изменения, вы можете анимировать другие элементы одновременно с изображением.
frameCount — это количество кадров в анимации. Для некоторых форматов анимации frameCount неизвестно и имеет значение ноль.
frameCount : int
currentFrame — это кадр, который в данный момент отображается. Отслеживая это свойство на изменения, вы можете анимировать другие элементы одновременно с изображением.
frameCount — это количество кадров в анимации. Для некоторых форматов анимации frameCount неизвестно и имеет значение ноль.
paused : bool
Это свойство указывает, приостановлено ли анимированное изображение.
По умолчанию это свойство равно false. Установите его в значение true, когда хотите приостановить анимацию.
playing : bool
Это свойство указывает, воспроизводится ли анимированное изображение.
По умолчанию это свойство равно true, что означает, что анимация начнётся сразу.
Примечание: это свойство зависит от изменений фактического состояния воспроизведения AnimatedImage. Если используются неанимированные изображения, playing необходимо вручную установить в true, чтобы анимировать последующие изображения.
AnimatedImage {
onStatusChanged: playing = (status == AnimatedImage.Ready)
} source : url
Это свойство содержит URL, указывающий на исходное изображение.
AnimatedImage может обрабатывать любые форматы изображений, поддерживаемые Qt, загруженные из любого URL-схемы, поддерживаемой Qt.
См. также QQuickImageProvider.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-animatedimage.html