当前位置:   article > 正文

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

qmove gif

简介

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

代码

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));
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/297498?site
推荐阅读