Qt开发小工具之gif转换器

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


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

void MainWindow::getStaticPhoto()
{
    if (m_GifPath == "" || m_SaveDirPath == "")
        return;
    m_pMovie = new QMovie;
    m_pMovie->setFileName(m_GifPath);
    m_pMovie->setCacheMode(QMovie::CacheAll);

    for (int i =0; i< m_pMovie->frameCount(); ++i) {

        m_pMovie->jumpToFrame(i);
        QImage image = m_pMovie->currentImage();
        QFile file(m_SaveDirPath+QString("/%1.jpg").arg(i));
        file.open(QFile::WriteOnly);
        image.save(&file, "JPG");
        file.close();
    }
}

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值