码迷,mamicode.com
首页 > 其他好文 > 详细

Qt开发小工具之gif转换器(使用QMovie截取每一帧为QImage,然后用QFile另存为图片文件)

时间:2015-12-27 06:20:52      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:

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

 

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

 

[cpp] view plaincopy
 
  1. void MainWindow::getStaticPhoto()  
  2. {  
  3.     if (m_GifPath == "" || m_SaveDirPath == "")  
  4.         return;  
  5.     m_pMovie = new QMovie;  
  6.     m_pMovie->setFileName(m_GifPath);  
  7.     m_pMovie->setCacheMode(QMovie::CacheAll);  
  8.   
  9.     for (int i =0; i< m_pMovie->frameCount(); ++i) {  
  10.   
  11.         m_pMovie->jumpToFrame(i);  
  12.         QImage image = m_pMovie->currentImage();  
  13.         QFile file(m_SaveDirPath+QString("/%1.jpg").arg(i));  
  14.         file.open(QFile::WriteOnly);  
  15.         image.save(&file, "JPG");  
  16.         file.close();  
  17.     }  
  18. }  

 

[cpp] view plaincopy
 
    1. 其中, m_GifPath为gif文件路径。 <span style="font-family: Arial, Helvetica, sans-serif;">m_SaveDirPath为文件夹路径。在此目录下存放转换后的图片资源。 </span>  

http://blog.csdn.net/wu5151/article/details/47107189

Qt开发小工具之gif转换器(使用QMovie截取每一帧为QImage,然后用QFile另存为图片文件)

标签:

原文地址:http://www.cnblogs.com/findumars/p/5079454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!