gpt4 book ai didi

c++ - 使用 QImage::setText() 将二进制数据存储在 PNG 文件中

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:06 25 4
gpt4 key购买 nike

我需要读取/存储 PNG 图像元数据中的二进制数据。具体来说,它将是已由 Google 的 protobuf 库序列化的 gzip 数据。

我正在使用 Qt5 的 QImage 库来加载和存储图像,所以如果我能找到一种方法使用一些 Qt 库将这个二进制数据添加到QImage 我已经在使用了。

我看到 QImage 类有一个 setText method这似乎完全符合我的要求,除了一个警告:它采用 QString 作为参数而不是 QByteArray,并且 QString构造函数破坏了我的二进制数据。

如何在存储和加载时强制 QString 保留我的二进制数据?如果那不可能,Qt5 中是否有其他方法可以将元数据添加到 PNG 图像?

最佳答案

你可以试试 encode the data as Base64在转换为 QString 之前,然后是 decode回读时。我知道这会显着降低 gzip 压缩的好处,但至少您可以尝试看看是否有帮助。

关于c++ - 使用 QImage::setText() 将二进制数据存储在 PNG 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22921613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com