美文网首页
Qt开源作品20-PNG图片警告去除工具

Qt开源作品20-PNG图片警告去除工具

作者: feiyangqingyun | 来源:发表于2020-05-26 09:00 被阅读0次

    一、前言

    在新版的Qt5中,我们之前在Qt4中使用的png图片,到了这里经常会报一个警告,libpng warning: iCCP: known incorrect sRGB profile,尽管这种警告眼不见为净,可以忽略,但是对于追求完美的程序员来说,这看起来就是很不爽的事情,可能是因为Qt5增加了png的检查或者使用的png的库的版本不一致导致的吧,处理的办法有好几种,一种是用PS软件或者其他图片编辑软件,重新保存图片的时候不要勾选ICC配置文件,去掉png图像的icc配置文件就可以了,另一种办法是直接使用Qt自己的QImage来实现另存为,既然是QImage那当然完美的支持自家的图片处理咯,肯定不会再有警告啦。

    二、代码思路

    void frmPngTool::on_btnOk_clicked()
    {
        files.clear();
    
        //将单个文件加入队列
        QString currentFile = ui->txtFile->text().trimmed();
        if (currentFile.isEmpty()) {
            files.append(currentFile);
        }
    
        //将该目录下的所有png文件存入链表
        QString currentDir = ui->txtDir->text().trimmed();
        if (!currentDir.isEmpty()) {
            QDir imagePath(currentDir);
            QStringList filter;
            filter << "*.png";
            QStringList list = imagePath.entryList(filter);
    
            foreach (QString str, list) {
                files.append(currentDir + "/" + str);
            }
        }
    
        ui->progress->setRange(0, files.count());
        ui->progress->setValue(0);
    
        int count = 0;
        foreach (QString file, files) {
            qDebug() << "current file:" << file;
            QImage image(file);
            image.save(file, "png");
            count++;
            ui->progress->setValue(count);
            qApp->processEvents();
        }
    
        qDebug() << "finsh";
    }
    

    三、效果图

    在这里插入图片描述

    四、开源主页

    以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量,欢迎各位关注。

    1. 国内站点:https://gitee.com/feiyangqingyun/QWidgetDemo
    2. 国际站点:https://github.com/feiyangqingyun/QWidgetDemo
    3. 个人主页:https://blog.csdn.net/feiyangqingyun
    4. 知乎主页:https://www.zhihu.com/people/feiyangqingyun/

    相关文章

      网友评论

          本文标题:Qt开源作品20-PNG图片警告去除工具

          本文链接:https://www.haomeiwen.com/subject/wixmahtx.html