我的数据库中有一个表,其中包含有关图像的信息(如宽度,高度,内容类型,文件类型和文件内容)。在列file_content
中存储整个图像(不是像素数据或其他内容 - 整个文件被加入并存储为二进制数据)。现在我想在Python + PySide上的应用程序中从这条记录创建QImage(或QPixmap)。我该怎么办?
我尝试了loadFromData,但它需要原始像素数据,而不是像我这样的文件头文件。
实际上,我不知道要解决它。
UPD:我的代码示例不起作用:
with open('Koala.jpg', 'r') as f:
content = f.read()
self.image = QtGui.QImage()
print self.image.loadFromData(content)
结果:
False
Corrupt JPEG data: 1 extraneous bytes before marker 0xd9
JPEG datastream contains no image
答案 0 :(得分:1)
with open('Koala.jpg', 'r') as f:
替换with open('Koala.jpg', 'rb') as f:
,loadFromData
加载了我的图片。
永远不要忘记将图像文件打开为二进制文件!
答案 1 :(得分:0)
有QImage::loadFromData
。
请参阅docs。