如何检测QImage是否已设置动画?

时间:2013-12-18 17:39:06

标签: c++ qt qimage qtgui

我正在使用Qt 5.2并且我有一个QImage。如果它检测到图像URL(例如imgur链接),则会下载该图像并显示它。如果图像是动画的(例如gif),我还想为它设置动画。

我尝试通过扩展,但一些链接将以jpg结束,仍然是动画。我目前正在使用QImage::format()来检查Format_ARGB32_Premultiplied,但我遇到了一些以Format_RGB32Format_ARGB32格式返回的动画图像,其格式与静态图像相同

有没有更好的方法可以检查标题信息以获得更一致的结果?

1 个答案:

答案 0 :(得分:4)

使用QImageReader读取图像,使用QImageReader::supportsAnimation()QImageReader::imageCount()检查它是否为动画图像。只有QImage后,该信息将丢失,因为QImage只代表一帧,即静态图像。

要显示动画图像,请使用QMovie。在QtQuick中,元素AnimatedImage显示动画图像。