Тип QML AnimatedImage
Воспроизводит анимации, хранящиеся как серия изображений. Подробнее...
| Оператор импорта: | import QtQuick |
| Наследуется от: |
Свойства
- 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 неизвестно и имеет значение ноль.
paused : bool
Это свойство указывает, приостановлено ли анимированное изображение.
По умолчанию это свойство равно false. Установите его в true, чтобы приостановить анимацию.
playing : bool
Это свойство указывает, воспроизводится ли анимированное изображение.
По умолчанию это свойство равно true, что означает, что анимация начнётся сразу.
Примечание: это свойство зависит от изменения фактического состояния воспроизведения AnimatedImage. Если используются неанимированные изображения, playing необходимо вручную установить в true, чтобы запустить анимацию следующих изображений.
AnimatedImage {
onStatusChanged: playing = (status == AnimatedImage.Ready)
} source : url
Это свойство содержит URL, который ссылается на исходное изображение.
AnimatedImage может обрабатывать любой формат изображений, поддерживаемый Qt, загруженный из любого URL-схемы, поддерживаемой Qt. Однако он несовместим с QQuickImageProvider.
[since QtQuick 2.11] 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-6.2/qml-qtquick-animatedimage.html