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


    一、前言

    在新版的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/
  • 相关阅读:
    good array(数论+随机算法)
    triple balance(贪心+构造)
    树上拓扑排序(交互题)
    模数循环节
    string操作总结
    移除相邻(string操作+implement)
    二维树状数组(单点更新+区间查询)
    docker mysql Client does not support
    Docker 常见问题
    Linux安装 Docker
  • 原文地址:https://www.cnblogs.com/feiyangqingyun/p/12963356.html
Copyright © 2020-2023  润新知