在不知道格式的情况下从字节数组加载 QImage
Load QImage from byte array without knowing the format
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);
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);