0%

AnimatedImage属性说明

继承自 Item
相关控件:Image

AnimatedImage类型扩展的图像类型的特点,提供一种方式来播放存储包含一系列的帧的图像动画,如存储在GIF文件的图像的动画。

本文: https://www.lovejia.win/blog/article/AnimatedImage.html
参考原文:http://doc.qt.io/qt-5/qml-qtquick-animatedimage.html
参考译文:http://blog.csdn.net/vampire_armand/article/details/38895953

属性说明

currentFrame : int

currentFrame是当前正在显示的帧。通过监视此属性以进行更改,可以在与图像同时为其他项目设置动画。

frameCount:int

frameCount是当前动画的帧总数。对于某些动画格式,frameCount未知,值为0。

paused : bool

此属性用于保存动画图像是否已暂停。
默认情况下,此属性为false。当您要暂停动画时,将其设置为true。

playing : bool

此属性保存动画图像是否正在播放。
默认情况下,此属性为true,表示动画将立即开始播放。
注意:此属性受AnimatedImage的实际播放状态的更改影响。如果使用非动画图像,则需要手动将播放设置为true,以便为后续图像设置动画。

source : url

此属性保存引用源图像的URL。
AnimatedImage可以处理Qt支持的任何图像格式,从Qt支持的任何URL方案加载。

功能简述

AnimatedImage用于播放动画像gif这样存储着帧的文件,提供了播放动画图片的方式。当前帧的信息和动画的长度,可以访问currentFrame和frameCount属性获得。我们能通过访问playing和paused属性来暂停或停止动画。这个元件支持的完整格式列表,在QMovie::supportedFormats()中定义。

下面的例子显示了如何显示动画图像并获取有关其状态的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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"
}
}

注意:当动画图像缓存时,动画的每一帧都将被缓存。
如果您正在播放长或大的动画并且想要节省内存,请将缓存设置为false。
如果图像数据来自顺序设备(例如套接字),AnimatedImage只能在缓存设置为true时循环。

下面的例子显示设置播放动画:

1
2
3
AnimatedImage {
onStatusChanged: playing = (status == AnimatedImage.Ready)
}
------本文结束    感谢阅读------
你打赏你的,我分享我的!