Чтение метаданных в формате jpeg или gif с помощью javax.imageio - PullRequest
0 голосов
/ 13 марта 2019

Я хочу изменить метаданные некоторых типов изображений (png, jpeg или gif), и я нашел код, который очень хорошо работает для изображений PNG по этой теме , предоставленный haraldK. Когда я пытаюсь запустить его на изображение JPG, он выдает эту ошибку: javax.imageio.IIOException: JFIF APP0 должен быть первым маркером после SOI . Ошибка выдается при поступлении на линию IIOImage image = reader.readAll(0, null);

Что я могу сделать, чтобы это заработало?

Заранее спасибо за ответ.

1 Ответ

0 голосов
/ 14 марта 2019

Проблема, с которой вы сталкиваетесь, заключается в том, что стандарт JPEG не определяет формат файла.Появилось несколько форматов файлов.Например, JFIF.EXIF.Spiff.Эти форматы представляют метаданные по-разному.Очевидно, библиотека, которую вы пытаетесь использовать, поддерживает только формат файла JFIF.Очевидно, ваша библиотека поддерживает только формат JFIF, пока у вас есть файл в другом формате (вероятно, EXIF).

Итак, вам нужна библиотека, которая поддерживает ваш формат файла, или вам нужно изменить библиотеку, с которой вы будете работатьлюбой формат файла у вас есть.Это может быть довольно существенное изменение.

...