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. for (int i =0; i< m_pMovie->frameCount(); ++i) {
  9. m_pMovie->jumpToFrame(i);
  10. QImage image = m_pMovie->currentImage();
  11. QFile file(m_SaveDirPath+QString("/%1.jpg").arg(i));
  12. file.open(QFile::WriteOnly);
  13. image.save(&file, "JPG");
  14. file.close();
  15. }
  16. }

[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

时间: 2024-08-08 01:23:21

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

&lt;&lt;&lt; 日常辅助开发小工具

Notcpad++ Notepad++ 是一款非常有特色的编辑器,Notepad++是免费开源软件,内置支持多达 27 种语法高亮度显示 大小:7.3M FSCapture 无简介 大小:7.3M -------------------------------------------------------------------------------------------------------------------------------------------------------

Android 开发小工具之:Tools 属性 (转)

Android 开发小工具之:Tools 属性 http://blog.chengyunfeng.com/?p=755#ixzz4apLZhfmi 今天来介绍一些 Android 开发过程中比较有用但是大家又不常用的小工具.这些小工具可以提高 Android 应用开发的效率.还可以提高代码质量.所以还是有必要使用的. 首先介绍布局文件中的 tools 属性. 如果你用 Android Studio 创建一个简单的示例项目,在生成的布局文件中会有这么一行内容: xmlns:tools="http:

Qt开发辅助工具——QSS Editor,编写qss实时预览

这工具本身是Qt开发的,支持windows与linux,并且开源,相信其它平台上也能用的. 我试了下,虽然没有Qt Creator那样的下拉提示,但还是带语法校正的.有能力的可以修改源码,使其带上提示功能,方便广大开发者. 其主页在sourceForget:http://sourceforge.net/projects/qsseditor/,作者:dmitrykx,似乎是Qt4的开发者! 其效果图如下:

C# 接口开发小工具 笔记

做了2年的接口开发,主要给移动端提供接口,整理了一套小工具,在这里记录一下. 1.非空字段检测 接口某些字段不能为空,最开始进行空值检测是在方法里面,一个参数一个参数手动的检测是否为空,某些方法非空字段十几个的时候,代码臃肿,看着恶心,写着也烦,于是就利用特性和反射实现了自动空值检测. //特性声明 [AttributeUsage(AttributeTargets.Property)] public class NotNull : Attribute { } //使用方式 public clas

QT程序--小工具集合

这是在大一第一学期时写的参加程序设计大赛的作品,当时参加的时候仅仅只有贪吃蛇,迷宫算法和文件加密这三个功能,而且当时的界面并没有进行任何美化,现在想起来有点可惜.然而这并不是一个只写一遍的软件,在后期逐渐更新,知道今天的这个版本.而且当时对于C++的理解并没有经过学校的学习的系统学习后那么到位,其中有一部分并没有遵循面向对象设计的思想.可能是由于之前版本的qt写的程序对于WIn10的支持也并不到位,然后为了让程序启动的时候自动将兼容性设置为win7这一动作花费了挺长时间了,中途出现这个问题的时候

好用的前端开发小工具

这是一款集截屏(支持自定义尺寸).屏幕录影机.屏幕拾色器.屏幕放大镜.屏幕标尺.PDF图片转换.图片编辑等等诸多实用功能于一身的小工具, 完全免费,极限轻量化,软件总体积仅1.63 MB . 链接: https://pan.baidu.com/s/15Mii0BiLcD3Pr2_OXAkAWw 提取码: guqp 原文地址:https://www.cnblogs.com/lyyo/p/11491349.html

借开发小工具做工作感悟

近几个月,项目比较多,发现在开发自测的过程中比较麻烦,一句话就是反复重复,且效率也是一般的.感觉整个组都差不多的状态. 为了更高效的工作,开发一些小的工具.安逸这么久了,也该做些总结了. 工作总结: 毕业也快两年了,又是一次面临选择的时候来了.在目前的公司,生活很安逸,前一年工作不忙,后一年相对要忙一些,主要是自己独立负责了很多项目,而且还要写设计和开发,同时也要处理客户各种需求. 在一个成熟型的,传统型的大公司,最明显的一个特征就是技术相对旧一些,不过也是主流.稳定的技术.分工方面,也比较细.

xamarin开发的mac开发小工具集合

兄弟们我拖控件拖到了mac系统去了, 工具上传到百度网盘,下载地址 链接:https://pan.baidu.com/s/1Q64zoRjE3u66jJnzF8rhww提取码:ljx2 这款工具我是用微软的xamarin.mac技术开发的,驻留在menubar上如下图所示 Image是自动上传剪贴板的图片工具 Image是监听剪切板有没有复制图片,有的话自动把图片上传到服务器,并且生成一个 markdown的图片并且赋值到剪贴板,可以直接在写markdown的时候粘贴,是方便写markdwon插

javaWeb开发小工具---MailUtils及其单元测试

本次介绍的是,在javaWeb开发中,我们不免会遇到发送邮件的需求,比如:用户注册账号,需要激活登录,以及服务器定期向会员发送礼品信息等.所以参考有关资料,写了这个MailUtils工具类. 1.MailUtils的概述 这个MailUtils工具类底层使用了javax.mail包里面的API.所以我们要导入依赖的jar包----mail.jar和activation.jar两个jar包. 一封邮件基本由发件人.收件人.抄送人(可选).标题.正文.附件组成.这里我们要介绍的是邮件的发送. 在这个