如何检测QImage是否动画?

Ben*_*Ben 3 c++ qt qtgui qimage

我正在使用Qt 5.2,我有一个QImage。如果它检测到图像网址(例如imgur链接),则会下载该图像并显示。如果图像具有动画效果(例如gif),我也想为其设置动画。

我尝试按扩展名进行操作,但是某些链接将以jpg结尾,并且仍然具有动画效果。我目前正在QImage::format()检查,Format_ARGB32_Premultiplied但是遇到了一些动画图像,这些图像的返回格式与静态图像相同Format_RGB32Format_ARGB32相同。

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

Fra*_*eld 5

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

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