在qml中,我使用xml文件从服务器获取一些信息。在这个xml文件中有一个字段为 <图像> iVBORw0KGgoAAAANSUhEUgAAA2AAAALKCAYAAABUYjK ........< /图像&gt ;. 我在其他字段中使用XmlListModel和ListView,但如何将此代码转换为png图像。
答案 0 :(得分:15)
我没有尝试自己,但如果QML支持数据URI方案(http://en.wikipedia.org/wiki/Data_URI_scheme),请尝试
Image {
source: "data:image/png;base64," + model.imageData
}
答案 1 :(得分:0)
我会实现一个自定义QDeclarativeImageProvider
,它会根据编码数据创建一个图像。
然后你可以在你的代表中做这样的事情:
// ...
Image {
source: "image://encodedimage/" + model.imageData
}
// ...
看看this example,它可能是您实施的起点。
如果图像是base64编码的,那么你可以创建一个像这样的图像(未测试):
QByteArray ba = QByteArray::fromBase64(imageDataString.toAscii());
QImage image = QImage::fromData(ba, "PNG");