ZBLOG

QT中将本地指定目录下图片转换为Base64数据存储在Json格式导出到本地txt文件代码示例

以下是将本地指定目录下的图片转换为Base64数据并存储在Json格式中导出到本地txt文件的示例代码,其中使用了QT自带的QImage和QByteArray类进行处理:

#include <QCoreApplication>
#include <QDir>
#include <QFile>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 指定本地目录
    QDir dir("path/to/dir");

    // 遍历目录下所有文件
    QStringList filters;
    filters << "*.png" << "*.jpg";
    dir.setNameFilters(filters);
    QFileInfoList list = dir.entryInfoList();

    // 创建JSON对象
    QJsonObject json;
    QJsonArray images;

    // 处理每个图片文件
    foreach (const QFileInfo &info, list) {
        QImage image(info.absoluteFilePath());
        if (!image.isNull()) {
            QByteArray byteArray;
            QBuffer buffer(&byteArray);
            buffer.open(QIODevice::WriteOnly);
            image.save(&buffer, "PNG");  // 转换为PNG格式

            QString base64 = QString(byteArray.toBase64());  // 转换为Base64字符串

            // 添加图片数据到JSON数组中
            QJsonObject imgObject;
            imgObject.insert("name", info.fileName());
            imgObject.insert("data", base64);
            images.append(imgObject);
        }
    }

    json.insert("images", images);

    // 导出到本地txt文件
    QFile file("output.txt");
    if (file.open(QIODevice::WriteOnly)) {
        file.write(QJsonDocument(json).toJson());
        file.close();
    }

    return a.exec();
}

以上示例代码仅供参考,具体实现方式可以根据实际需求进行修改。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=7091

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?