Доступ к 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 для извлечения необходимых данных).

Другие вопросы по тегам