我正在尝试使用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()
答案 0 :(得分:0)
我测试了你的最小例子。 您可以简单地创建一个新的QPixmap对象,并将* .nef文件的路径作为构造函数参数,而不是使用smc模块。
pixmap = QtGui.QPixmap("Path_To_File.NEF")
lbl = QtGui.QLabel(self)
lbl.setPixmap(pixmap)
我已经测试了你的例子,它没有任何问题。