Сейчас я работаю над большим проектом, который связан с изображениями. Одна из больших проблем, с которыми я сталкиваюсь, связана с порядком байтов изображения (jpeg для ясности). Я всегда думал, что в нашем современном мире нам не нужно беспокоиться об этом, но теперь я не уверен.
Что я делаю:
Эти изображение затем используется в другом модуле моего приложения, который использует стороннюю программу просмотра, которая выполняет некоторые манипуляции с изображением. Программа просмотра работает со всеми изображениями, созданными с помощью компьютера в Windows XP и Windows Vista. Но когда изображение создается на машине с Windows 7, все изображения искажаются.
Допустим, изображение, созданное в Windows XP, будет называться PictureXP, а изображение, созданное в Windows 7, будет называться Picture7. Я проверил файлы с помощью exiftools и обнаружил, что есть 2 поля, которые различаются между PictureXP и Picture7.
PictureXP: Порядок байтов Exif: Little-endian Picture7: Порядок байтов Exif: с прямым порядком байтов Изображение 7 также имеет дополнительное поле: Комментарий пользователя:.
Два изображения можно нормально открывать в любом средстве просмотра фотографий, только в этом стороннем средстве просмотра изображения отображаются смешанными, и единственная разница между тремя изображениями заключается в эти поля.
Что я хочу знать:
Большое спасибо!
РЕДАКТИРОВАТЬ 1 : Я нашел эту статью , подтверждающую, что порядок байтов, найденный в заголовке exif, применим только к заголовку exif и что файл jpeg всегда имеет прямой порядок байтов. Так есть ли способ изменить заголовок exif, чтобы сторонняя программа могла читать то, что ему нужно?