0
我編寫了一個程序,將base64字符串解碼爲圖像。我寫了一個例子:解碼base64中的損壞數據以Qt中的圖像
QFile file("./image.jpg");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
return;
}
QByteArray raw = file.readAll().toBase64();
QImage = image;
image.loadFromData(QByteArray::fromBase64(raw), "JPG");
image.save("output.jpg", "JPG");
程序的輸出是:
Corrupt JPEG data: 65 extraneous bytes before marker 0xc0 Quantization table 0x01 was not defined
我無法找到與谷歌非常有用。我只讀圖像文件,並用base64編碼,然後解碼。你能告訴我我的代碼有什麼問題嗎?
對不起,我弄清楚我的代碼有什麼問題。當我打開圖像文件時,我使用'QIODevice :: Text'打開模式。我刪除它後代碼運行良好。 – stamaimer 2014-08-30 12:46:02
添加您的解決方案作爲答案,並選擇它作爲答案。這是允許的,甚至是推薦的,它可能會幫助其他類似問題的人。 – RobbieE 2014-08-31 09:20:53