我正在尝试从 gimpfu 插件中访问图像 exif 数据,特别是照片的拍摄日期,我可以使用 PIL 来做到这一点,
from PIL import Image
date_taken = Image.open(file)._getexif()[36867]
但是当我尝试导入 PIL 时,插件不再出现在 gimp 菜单中。没有产生错误,GIMP 正常启动。有没有办法用 gimpfu 获取 exif 数据?或者有没有办法将 PIL 导入插件?
如果插件不再出现在 Gimp 菜单中,很可能是因为它存在一些问题,导致它无法运行到最后进行注册。这可能是语法错误,或者在这种情况下是导入 PIL 的问题。如果您在 Linux 或 OSX 上,这很容易调试,只需在终端会话中启动 Gimp,python 解释器的错误消息就会显示在那里。在 Windows 上,您可以使用参数启动 Gimp,--verbose
以使其使用附加的控制台窗口运行消息,但我不确定 Python 错误是否显示在那里。如果他们不这样做,请将整个代码括在 try/except 中,并将异常错误转储到文件中。您可以使用该traceback
模块来获取更多信息(错误行号等),但它本身可能是其他导入错误的原因......
要回答您最初的问题,您可以使用以下方法从 Gimp 获取 EXIF 数据:
exifData=image.parasite_find('exif-data').data
然而,这只是一个字节数组,你必须自己进行解析(但我相信你会找到 python 代码片段来提取你想要的数据)。