我正在使用 Qt 库,创建 QImages。
我可以使用这个构造函数:
QImage image("example.jpg");
但是我在使用这个静态函数时遇到了问题:
char buffer[sizeOfFile];
ifstream inFile("example.jpg");
inFile.read(buffer, sizeOfFile);
QImage image = QImage::fromData(buffer); // error here
// but there's nothing wrong with the buffer
ofstream outFile("bufferOut.jpg");
outFile.write(buffer, sizeOfFile);
Qt 向控制台吐出的地方:
Corrupt JPEG data: 1 extraneous bytes before marker 0xd9
JPEG datastream contains no image
以上不完全是我所拥有的,但这是唯一重要的区别。(我需要能够从缓冲区读取,因为我正在打开 zip 存档中的图像。)