在我的Android应用程序中,我使用ImageReader
曲面从相机捕获图像并将其转储到文件中。以下是相关代码:
void saveImage(Image img) {
Bytebuffer buf = img.GetPlanes()[0].getBuffer();
buf.rewind();
byte[] data = new byte[buf.remaining()];
buf.get(data);
saveToFile(data);
}
通过avplay,
查看时生成的文件似乎可以正常显示图像。但是,当我在Ubuntu上使用Qt' QPixmap::loadFromData
加载相同的内容时,该方法失败。我得到的错误是:
Corrupt JPEG data: premature end of data segment
Invalid JPEG file structure: two SOI markers
我想知道是否有人对如何克服这个问题有任何见解。不确定Android MediaCodec
类是否存在问题,或者Qt内部使用的jpeg库是否存在错误。问候。