Skip to main content
 首页 » 编程设计

python之来自文件内容的QImage

2025年05月04日13lautakyan007

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

请您参考如下方法:

多么愚蠢的错误!将 with open('Koala.jpg', 'r') as f: 替换为 with open('Koala.jpg', 'rb') as f: 和loadFromData 加载了我的图像。

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