使用FreeImage将文件加载到PySide

时间:2014-06-05 22:32:11

标签: python load pyside freeimage

我正在尝试使用smc.FreeImage加载.NEF文件(Nikon Camera RAW)和使用PySide显示。

我发现这个示例加载并显示评论的.JPG文件就好了,但是当我用FI.Image NEF替换像素图时它会崩溃。

我添加了print pixmap.getInfoHeader以确保.NEF实际加载了它,我在输出窗口中看到了正确的标题信息。

如何翻译read pixmap = FI.Image以便PySide理解它?我见过人们使用numpy和PIL tostring,但这些例子似乎都没有涵盖这种情况。

import sys
from PySide import QtGui, QtCore
from smc import freeimage as FI

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):

        hbox = QtGui.QHBoxLayout(self)

        #pixmap = QtGui.QPixmap("Somefile.jpg")
        pixmap = FI.Image("Anotherfile.NEF")
        print( pixmap.getInfoHeader() )

        lbl = QtGui.QLabel(self)
        lbl.setPixmap(pixmap)

        hbox.addWidget(lbl)
        self.setLayout(hbox)

        self.setGeometry(300, 300, 280, 170)
        self.setWindowTitle('Da window Title')
        self.show()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

我测试了你的最小例子。 您可以简单地创建一个新的QPixmap对象,并将* .nef文件的路径作为构造函数参数,而不是使用smc模块。

pixmap = QtGui.QPixmap("Path_To_File.NEF")
lbl = QtGui.QLabel(self)
lbl.setPixmap(pixmap)

我已经测试了你的例子,它没有任何问题。