QT小技巧 - 使用QMovie进行gif切帧

简介

使用QMovie 将 gif 进行切帧, magick 进行合并

代码

QString gifPath = "E:\\workspace\\qt\\gif2imgs\\203526qre64haq3ccoobqi.gif"; // 你的图片

    QMovie movie(gifPath); 
    movie.setCacheMode(QMovie::CacheNone);
    qDebug() << movie.frameCount(); 

    int frameCount = movie.frameCount(); // 帧数
    qDebug() << "Frame count:" << frameCount;

    // 遍历每一帧并将其保存为图片
    for (int i = 0; i < frameCount; ++i) {
   
        qDebug() << "Jump Res: " << movie.jumpToFrame(i);
        QPixmap pixmap = movie.currentPixmap();
        pixmap.save(qApp->applicationDirPath() + QString("/frame_%1.png").arg(i));
    }

gif原图

请添加图片描述

结果图

在这里插入图片描述

magick 合并

magick.exe convert frame_0.png frame_1.png frame_2.png out1.gif
请添加图片描述

magick 拆分

在这里插入图片描述
magick.exe convert out1.gif -coalesce o_%d.png

相关推荐

  1. VTK:使用AlignFrames进行对齐的用法

    2023-12-25 10:40:05       39 阅读
  2. 使用Qt进行iOS编程

    2023-12-25 10:40:05       38 阅读
  3. git使用技巧记录

    2023-12-25 10:40:05       9 阅读
  4. 使用Git进行版本控制

    2023-12-25 10:40:05       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 10:40:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 10:40:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 10:40:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 10:40:05       18 阅读

热门阅读

  1. c语言查找算法

    2023-12-25 10:40:05       42 阅读
  2. 第二章 mysql配置

    2023-12-25 10:40:05       25 阅读
  3. 某大型零售企业薪酬与绩效考核体系项目纪实

    2023-12-25 10:40:05       39 阅读
  4. LeetCode //C - 643. Maximum Average Subarray I

    2023-12-25 10:40:05       40 阅读
  5. 面试经典150题(47-49)

    2023-12-25 10:40:05       27 阅读
  6. 【大数据学习笔记】新手学习路线图

    2023-12-25 10:40:05       39 阅读