c++ - 在不知道格式的情况下从字节数组加载 QImage

标签 c++ qt qimage

QImage具有以下构造函数:

QImage(const QString &fileName, const char *format = nullptr);

但是,我正在尝试解析已作为字节数组加载的 JPEG/PNG 图像。 QImage 也有其他构造函数,但那些构造函数采用已经未压缩的 ARGB 值字节数组。

有没有办法从未解析的字节数据而不是文件创建QImage

最佳答案

您可以构造一个空的QImage,然后再使用QImage::loadFromData(const QByteArray&)无需指定格式。 QImage 将尝试读取图像 header 以猜测文件格式。

QByteArray bytes; //contains image file contents
QImage img;
bool success = img.loadFromData(bytes);

关于c++ - 在不知道格式的情况下从字节数组加载 QImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55915845/

相关文章:

c++ - 如何将 QImage 中的像素数据转换为另一种格式?

c++ - Qt 错误地认为 QImage 被正确加载

c++ - 将数组元素递增 1

c++ - 如何在声明变量时评估表达式(在表达式模板中)

c++ - 在 Windows 上使用 libcurl,在我的 c++ 项目中,使用 visual studio,因为字符串被损坏而不起作用

c++ - QCommandLineOption 无法获取选项

c++ - 如何创建 PCM 签名的 16 位 wav 文件

mysql - 简单的只读锁定机制

linux - 使用 linux-arm-gnueabi-g++ 编译适用于 ARM 的 QT 时出现 XLib 错误

c++ - QImage(或一般图像)转换为 RGB 的 3 个一维数组