我需要将包含少量图像的一些数据保存并加载到QJsonDocument。
要保存像素图:
QPixmap p( ... );
QByteArray res;
QBuffer buffer( &res );
buffer.open( QIODevice::WriteOnly );
p.save( &buffer, "PNG" );
保存到QJsonObject:
json.insert( "Preview" , res );
结果"预览"数据被破坏(来自QJsonDocument(json)。toJson()):
"预览":"�PNG\ r \ n \ u001a \ n"
我做错了什么?如何正确保存图像?
答案 0 :(得分:3)
你应该编码为base64:
json.insert( "Preview" , res.toBase64() );
这将保留数据,您在阅读时需要解码:
res = QByteArray::fromBase64(json.take("Preview").toString());