Qt 版本号 5.4.1 VS2010

 

近期在做一个小程序,事实上非常easy,就是打开一个gif 动画。能够静态显示当中随意一帧图像。Qt 中有一个QImageReader 类。用这个类理论上说能够非常方便的实现这个功能。

 

QImageReader imageReader;

imageReader.setFileName(“某gif”);

这两步操作能够打开一个gif 图像。

 

bool ret = imageReader.jumpToImage(i);

这步理论上就能跳转到我希望的那一帧图像。然后读出来就好了。

Qimage image = imageReader.read();

 

可是在我这

ret = imageReader.jumpToImage(i);

返回值总是 false.

 

ret = imageReader.jumpToNextImage();

这个函数的返回值也总是 false.根本就没有跳转到下一幅图像。

 

最后我仅仅能採用一种非常低效的办法。

for(int j = 0; j < imageNumber; j ++)

{

      imageReader.read(&m_image);

}

可是这种话这能向后跳转。没有办法跳转会已经读取了的frame。