2

smc.FreeImage を使用して .NEF ファイル (Nikon Camera RAW) をロードし、PySide で表示しようとしています。

コメント付きの .JPG ファイルを正常に読み込んで表示するこの例を見つけましたが、pixmap を FI.Image NEF に置き換えるとクラッシュします。

印刷 pixmap.getInfoHeader を追加して、.NEF が実際に読み込まれることを確認しました。出力ウィンドウに正しいヘッダー情報が表示されます。

読み込んだ 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()
4

1 に答える 1

0

私はあなたの最小限の例をテストしました。smc モジュールを使用する代わりに、新しい QPixmap オブジェクトを簡単に作成し、*.nef ファイルへのパスをコンストラクター パラメーターとして指定できます。

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

あなたの例をテストしましたが、問題なく動作しました。

于 2014-11-17T14:19:02.560 に答える