【问题标题】:How to convert png image into base 64 format in Qt如何在 Qt 中将 png 图像转换为 base 64 格式
【发布时间】:2021-11-08 21:33:13
【问题描述】:

我想使用 Qt 将“sky.png”图像转换为 cpp 中的 base 64 格式。我在 Qt 文档中找到了以下代码,但不知道如何获取 base 64 格式。如何将图片转成base 64格式?

QImage image;
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);
image.save(&buffer, "PNG");
qDebug()<<"buffer"<<&buffer;

【问题讨论】:

  • 尝试使用更通用的方法再次搜索,例如convert file to base64 C++
  • 请将任何相关代码作为格式化代码添加到您的问题中。把它放在 cmets 中很碍眼,更容易被错过。
  • 请分享 sky.png 或来源。

标签: c++ qt base64 qimage qbytearray


【解决方案1】:

这是我要转换的图像

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

兄弟,你快到了: 你只需要: 将图像写入缓冲区,然后从缓冲区获取数据为 Bse 64...

喜欢:

QBuffer buffer;
buffer.open(QIODevice::WriteOnly);
QImage qp(":/resources/images/foo.png");
qp.save(&buffer, "PNG");
QString encoded = buffer.data().toBase64();

【讨论】:

  • 我试过上面的例子并打印字符串“encoded”。但它似乎是空的,调试日志中没有打印任何内容
  • 我认为您的图像已损坏...损坏或格式不正确
  • 我在在线工具上测试了图片,它在线转换为base64格式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-09
  • 2017-10-24
  • 2023-04-01
  • 2020-11-27
  • 1970-01-01
  • 2016-11-22
  • 2018-03-23
相关资源
最近更新 更多