Я недавно вставил SD-карту своей камеры в ПК с Windows 7 и начал просматривать фотографии на ней. Я заметил, что некоторые не были правильно выровнены и используют rotate feature
включенную в Windows Photo Viewer, чтобы просматривать их, как я хотел.
Чего я не знал, так это того, что когда используется функция поворота, она также перезаписывает изображение при нажатии следующей или предыдущей кнопки, что приводит к возможной потере качества (что, на мой взгляд, плохая идея, приложение должно по крайней мере предупреждать пользователя о том, что произойдет при использовании такой функции).
После этого я снова вставил SD-карту обратно в камеру, и произошел неприятный сюрприз: повернутый снимок больше нельзя было просматривать. Вместо этого я получил черный экран с надписью "Несовместимый формат JPEG". Другие файлы (нетронутые) по-прежнему работают нормально.
Чтобы попытаться понять, что произошло, я открыл файл JPEG с камеры и файл, созданный в Windows 7 в шестнадцатеричном редакторе. Вот разница:
Файлы JPEG камеры содержат тег Exif
(с заголовком 0xE1
). Другие файлы JPEG (Windows 7) содержат сначала тег JFIF
, а затем тег Exif
(с заголовком 0xE0
).
Так что, если я хорошо понимаю, оба являются файлами JPEG, но используют другой внутренний формат.
Вот мой вопрос: возможно ли (с помощью какого-либо инструмента) конвертировать JFIF
файлы в формат Exif
?
Я понимаю, что исходные файлы камеры были перекодированы и, таким образом, теряют качество (возврат оригиналов невозможен). Что я хочу знать, если конвертировать их из JFIF обратно в Exif (без второй потери качества, если это возможно ...)