You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Qt中如何将PNG图片转换为Base64格式

Qt实现PNG图片转Base64的解决方案

你当前的示例代码缺少加载本地图片和调用Base64编码接口两个关键步骤,完整实现逻辑如下:


完整可运行代码

#include <QImage>
#include <QBuffer>
#include <QDebug>

int main()
{
    // 1. 加载本地sky.png图片到QImage对象
    QImage image("sky.png");
    // 可选:添加图片加载成功校验,避免空转换
    if (image.isNull()) {
        qWarning() << "图片加载失败,请确认sky.png的路径是否正确";
        return -1;
    }

    // 2. 将图片写入QBuffer关联的字节数组
    QByteArray ba;
    QBuffer buffer(&ba);
    buffer.open(QIODevice::WriteOnly);
    image.save(&buffer, "PNG");
    buffer.close();

    // 3. 调用字节数组的toBase64方法得到最终编码结果
    QByteArray base64Result = ba.toBase64();
    
    // 测试输出转换结果
    qDebug() << "转换后的Base64编码:" << base64Result;
    return 0;
}

补充说明

  • 如果需要在网页、富文本场景使用转换结果,可在编码前拼接对应格式前缀,PNG格式前缀为data:image/png;base64,
  • 相对路径下需要保证程序运行的工作目录中存在sky.png,路径不确定时建议传绝对路径加载图片

内容的提问来源于stack exchange,提问作者ac_p

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:09:02