Данные EXIF ​​в файле JPEG - PullRequest
14 голосов
/ 13 января 2012

Запись пользовательских данных как Exif data in a JPEG image file с использованием ExifInterface в Android

Хотелось бы write/add пользовательских tags/exif данных в JPEG file, таких как имя, возраст и т. Д. Сейчас я могу записать значения по умолчанию, например Geo location data, attributes etc..., но могу ли я записать пользовательские данные в JPEG-изображение, используя ExifInterface (Android)

Возможно ли это или любая другая альтернатива для сохранения этой нехватки информации с изображением

Ответы [ 2 ]

13 голосов
/ 27 апреля 2013

Android ExifInterface позволяет писать только те теги exif, которые «распознаются». Вы можете найти НЕКОТОРЫЕ из распознанных тегов exif в ссылке: http://developer.android.com/reference/android/media/ExifInterface.html

Но хорошая новость в том, что есть больше тегов exif, которые не упомянуты в Android API. Плохая новость в том, что я до сих пор не нашел библиотеку, в которой перечислены все используемые exif-теги

После нескольких часов исследований и экспериментов я обнаружил, что работает следующий тег:

"UserComment"

Так что будет работать следующий фрагмент кода:

String mString = "Your message here";     
ExifInterface exif = new ExifInterface(path_of_your_jpeg_file);
exif.setAttribute("UserComment", mString);
exif.saveAttributes();

Я все еще пытаюсь выяснить, какие другие теги exif разрешены, но сейчас это должно сработать.

1 голос
/ 06 февраля 2013

Для этого используйте интерфейс Android EXIF ​​

  1. Добавьте свои атрибуты с помощью этого метода*

  2. С помощью этого метода создайте новую версию JPEG.public void saveAttributes ()

...