Тип QML AnimatedImage
Воспроизводит анимации, сохранённые как серия изображений. Подробнее...
| Заявление об импорте: | import QtQuick 2.11 |
| Наследует: |
Свойства
- currentFrame : int
- frameCount : int
- paused : bool
- playing : bool
- source : url
- speed : real
Подробное описание
Тип 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.
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/archives/qt-5.11/qml-qtquick-animatedimage.html