Доступ к exif-данным из плагина gimpfu
Я пытаюсь получить доступ к изображениям exif-данных из плагина gimpfu, в частности, к дате, когда была сделана фотография, я могу сделать это с помощью PIL,
from PIL import Image
date_taken = Image.open(file)._getexif()[36867]
Но когда я пытаюсь импортировать PIL, плагин больше не появляется в меню GIMP. Ошибка не выдается, и GIMP запускается нормально. Есть ли способ получить данные exif с помощью gimpfu? Или есть способ импортировать PIL в плагин?
1 ответ
Если плагин больше не появляется в меню Gimp, скорее всего, потому, что в нем есть какая-то проблема, которая мешает ему работать до конца для регистрации. Это может быть синтаксическая ошибка или, в этом случае, проблема импорта PIL. Если вы используете Linux или OSX, это легко отладить, просто запустите Gimp в терминальной сессии, там будут отображаться сообщения об ошибках от интерпретатора python. В Windows вы можете запустить Gimp с --verbose
параметр, чтобы заставить его работать с дополнительными консольными окнами для сообщений, но я не уверен, что ошибки Python появляются там. Если это не так, заключите в скобки весь код в попытке / исключении и выведите ошибку исключения в файл. Вы можете использовать traceback
модуль для получения дополнительной информации (номер строки ошибки и т. д.), но он сам может быть причиной других ошибок импорта...
Чтобы ответить на исходную проблему, вы можете получить данные EXIF из Gimp, используя:
exifData=image.parasite_find('exif-data').data
Тем не менее, это всего лишь массив байтов, и вы должны выполнить синтаксический анализ самостоятельно (но я уверен, что вы найдете фрагменты кода Python для извлечения необходимых данных).