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