Qt中解析gif文件可直接使用 QMoive类进行操作,包含头文件 #include <QMovie>,源码如下:
bool parseGifFile(QString strFilePath)
{
if (strFilePath.isEmpty())
{
return false;
}
int nTotalTime = 0;
int nTotalFrames = 0;
if (strFilePath.contains(".gif")) // gif图解析
{
QMovie* pMovie = new QMovie();
if (NULL == pMovie)
{
return false;
}
pMovie->setFileName(strFilePath);
nTotalFrames = pMovie->frameCount();
if (nTotalFrames >= 500)
{
QMessageBox::warning(NULL, "", QObject::tr("The frame number of Gif is over 500 frames!"), QObject::tr("OK"));
return false;
}
int nFrameTime = 0;
while (1)
{