qt导出gif每一张图片

用qt写了个小程序,将gif中的每一帧导出成jpg、png、bmp。

主要使用QMovie这个类。

gif图如下:

qt导出gif每一张图片_第1张图片

软件界面如下:

qt导出gif每一张图片_第2张图片 

qt导出gif每一张图片_第3张图片

 

 软件有如下功能:

可查看gif,可选择自适应显示或原图大小显示,可拖动gif到软件界面并显示,可幻灯片播放gif,可左右键切换上一张,下一张gif图,可导出当前gif文件中的每一帧并另存到指定文件夹

 导出png如下:

qt导出gif每一张图片_第4张图片

核心代码如下:

QMovie *movie = new QMovie();
movie->setFileName(strFile);
movie->setCacheMode(QMovie::CacheAll);
if(movie!=nullptr)
                {
                    QString strFileName = QFileDialog::getSaveFileName(this,tr("Gif To Picture"),"","JPG(*.jpg);;PNG(*.png);;BMP(*.bmp)");
                    if(!strFileName.isNull())
                    {
                        int nNum = movie->frameCount();
                        for(int i =0;ijumpToFrame(i);
                            QImage img= movie->currentImage();
                            img.save(strName0,strSuffix.toUpper().toUtf8());
                        }
                    }
                }

源码下载:

https://download.csdn.net/download/weixin_43935474/86837486

 

你可能感兴趣的:(QT,qt,gif)