1

gimpfuプラグイン内から画像のexifデータ、具体的には写真が撮影された日付にアクセスしようとしています.PILでこれを行うことができます.

from PIL import Image

date_taken = Image.open(file)._getexif()[36867]

しかし、PIL をインポートしようとすると、プラグインが gimp メニュー内に表示されなくなります。エラーは発生しておらず、GIMP は正常に起動します。gimpfuでexifデータを取得する方法はありますか? または、プラグインに PIL をインポートする方法はありますか?

4

1 に答える 1

1

プラグインが Gimp メニューに表示されなくなった場合は、プラグインに何らかの問題があり、最後まで実行して登録できないことが原因である可能性があります。これは構文エラーである可能性があり、この場合は PIL のインポートの問題である可能性があります。Linux または OSX を使用している場合、これは簡単にデバッグできます。ターミナル セッションで Gimp を起動するだけで、Python インタープリターからのエラー メッセージがそこに表示されます。Windows では、--verboseパラメーターを指定して Gimp を起動し、メッセージ用の追加のコンソール ウィンドウで Gimp を実行できますが、そこに Python エラーが表示されるかどうかはわかりません。そうでない場合は、コード全体を try/except で囲み、例外エラーをファイルにダンプします。モジュールを使用してtraceback詳細情報 (エラーの行番号など) を取得できますが、それ自体が他のインポート エラーの原因になる可能性があります...

最初の問題に答えるために、以下を使用して Gimp から EXIF データを取得できます。

exifData=image.parasite_find('exif-data').data

ただし、これは単なるバイト配列であり、解析は自分で行う必要があります (ただし、必要なデータを抽出するための Python コード スニペットが見つかるはずです)。

于 2016-12-16T09:02:11.570 に答える