3

我的数据库中有一个表,其中包含有关图像的信息(如宽度、高度、内容类型、文件类型和文件内容)。在列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
4

2 回答 2

1

如此愚蠢的错误!刚刚替换with open('Koala.jpg', 'r') as f:with open('Koala.jpg', 'rb') as f:加载loadFromData了我的图像。

永远不要忘记以二进制形式打开图像文件!

于 2013-07-25T13:27:15.650 回答
0

QImage::loadFromData那个。

请参阅文档

于 2013-07-25T08:33:19.823 回答