AnimatedImage QML 类型

播放以一系列图像存储的动画。 更多...

导入语句import QtQuick
继承

Image

属性

详细说明

AnimatedImage 类型扩展了 Image 类型功能,提供了一种播放存储为图像序列的动画的方式,例如存储在 GIF 文件中的图像。

可以使用 currentFrameframeCount 属性来获取当前帧和动画的总长度信息。您可以通过更改 playingpaused 属性的值来开始、暂停和停止动画。

可以使用 QMovie::supportedFormats() 确定支持的完整格式列表。

用法示例

以下代码示例显示了如何显示一个动态图像并获取有关其状态的信息,例如当前帧和帧数总数。结果是带有简单进度指示器的动态图像。

注意:当动态图像被缓存时,动画的每一帧都会被缓存。

如果您正在播放较长或较大的动画并希望节省内存,请将缓存设置为 false。

如果图像数据来自顺序设备(例如套接字),则AnimatedImage 只有在缓存设置为 true 时才能循环。


import QtQuick

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"
    }
}

另请参阅BorderImageImage

属性说明

currentFrame : int

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 支持的任何图像格式,并可以从 Qt 支持的任何 URL 方案中加载。但是,它与 QQuickImageProvider 不兼容。


sourceSize : size

此属性表示完整图像的缩放宽度和高度。

与用于缩放图像绘制的 宽度属性高度属性 不同,此属性设置用于缓存帧的最大像素数,这样大型的动画就不会占用比必要更多的内存。

如果原始大小大于 sourceSize,则图像会缩小。

通过将此属性设置为 undefined 可以恢复图像的自然大小。

注意动态更改此属性可能导致图像资源被重新加载,甚至是从网络上加载,如果它不在磁盘缓存中。

另见 Image::sourceSize.


speed : real [since QtQuick 2.11]

此属性表示动画的速度。

速度以原始动画图像速度的百分比来衡量。默认速度为 1.0(原始速度)。

此属性是在 QtQuick 2.11 中引入的。


© 2024 Qt 公司有限公司。本文件中的文档贡献为其各自拥有者的版权。本文件提供的文档遵循由自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款。Qt 和相关标志是芬兰及/或全球其他国家的 Qt 公司有限公司的商标。所有其他商标均为其各自所有者的财产。