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

    最近,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

  • 相关阅读:
    jdbc之存储过程的调用和调用方法
    jdbc之Statement和Preparement
    jdbc之连接Oracle的基本步骤
    Oracle之子程序(存储过程、方法、包)
    Oracle之plsql及游标
    Oracle之多表查询
    Oracle之单表查询及常用函数
    Oracle之基础操作
    IO流之字符流
    IO流之字节流
  • 原文地址:https://www.cnblogs.com/findumars/p/5079454.html
Copyright © 2011-2022 走看看