您的位置:首页 > 编程语言 > Qt开发

Qt开发小工具之gif转换器

2015-07-28 16:25 337 查看
最近,QQ上好多各种gif表情。每一个都很经典呀。。于是我就想把它转换成一张张静态图片。。。没学过ps。于是写了几行代码。完工。核心代码如下

主要是借助QMovie类。文件读取模式选择QMovie::CacheAll 这样就可以缓存所有图片。然后结束jumpToFrame来切换图片。循环搞定。。

void MainWindow::getStaticPhoto()
{
if (m_GifPath == "" || m_SaveDirPath == "")
return;
m_pMovie = new QMovie;
m_pMovie->setFileName(m_GifPath);
m_pMovie->setCacheMode(QMovie::CacheAll);

for (int i =0; i< m_pMovie->frameCount(); ++i) {

m_pMovie->jumpToFrame(i);
QImage image = m_pMovie->currentImage();
QFile file(m_SaveDirPath+QString("/%1.jpg").arg(i));
file.open(QFile::WriteOnly);
image.save(&file, "JPG");
file.close();
}
}


其中, m_GifPath为gif文件路径。 <span style="font-family: Arial, Helvetica, sans-serif;">m_SaveDirPath为文件夹路径。在此目录下存放转换后的图片资源。 </span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: