Тип QML AnimatedImage
Воспроизводит анимации, хранящиеся как серия изображений. Подробнее...
| Заявление об импорте: | import QtQuick 2.15 |
| Наследует: |
Свойства
- currentFrame : int
- frameCount : int
- paused : bool
- playing : bool
- source : url
- speed : real
Подробное описание
Тип AnimatedImage расширяет возможности типа Image, предоставляя способ воспроизведения анимаций, хранящихся как изображения, содержащие серию кадров, такие как те, что хранятся в файлах GIF.
Информация о текущем кадре и общей длительности анимации может быть получена с помощью свойств currentFrame и frameCount. Вы можете начать, приостановить и остановить анимацию, изменив значения свойств playing и paused.
Полный список поддерживаемых форматов можно определить с помощью QMovie::supportedFormats().
Пример использования
Следующий QML демонстрирует, как отобразить анимированное изображение и получить информацию о его состоянии, например, текущий кадр и общее количество кадров. Результатом является анимированное изображение с простой индикацией прогресса под ним.
Примечание: При кэшировании анимированных изображений каждый кадр анимации будет кэшироваться.
Установите кэширование в false, если вы воспроизводите длинную или большую анимацию и хотите сэкономить память.
Если данные изображения поступают из последовательного устройства (например, сокета), AnimatedImage может циклически воспроизводиться только если кэширование установлено в 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 неизвестен и имеет значение ноль.
paused : bool
Это свойство содержит значение, указывающее, приостановлено ли анимированное изображение.
По умолчанию это свойство имеет значение false. Установите его в true, если хотите приостановить анимацию.
playing : bool
Это свойство содержит значение, указывающее, воспроизводится ли анимированное изображение.
По умолчанию это свойство имеет значение true, что означает, что анимация начнётся немедленно.
Примечание: это свойство зависит от изменений фактического состояния воспроизведения AnimatedImage. Если используются неанимированные изображения, playing необходимо вручную установить в true, чтобы запустить анимацию последующих изображений.
AnimatedImage {
onStatusChanged: playing = (status == AnimatedImage.Ready)
} source : url
Это свойство содержит URL, указывающий на исходное изображение.
AnimatedImage может обрабатывать любые форматы изображений, поддерживаемые Qt, загруженные из любого схемы URL, поддерживаемой Qt. Однако он несовместим с QQuickImageProvider.
speed : real
Это свойство содержит скорость анимации.
Скорость измеряется в процентах от исходной скорости анимированного изображения. Значение по умолчанию равно 1.0 (исходная скорость).
Это свойство было введено в QtQuick 2.11.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtquick-animatedimage.html