Содержит ли PNG данные EXIF, такие как JPG?


Мне было интересно, содержит ли PNG такие данные, как следующие?

Что я сделал, так это преобразовать файл jpg в формат png, и я ожидал получить ту же информацию, что и на jpg, как показано ниже:

В настоящее время с помощью этого библиотека as3 для чтения данных.

  • IDF0--- ИДФ @[134 - 248] (9 записей)
    • ориентация (короткая): 1
    • XResolution (рациональное): 72/1
    • разрешение YResolution (рациональное): 72/1
    • ResolutionUnit (SHORT): 2
    • Программное Обеспечение (ASCIIx16): QuickTime 7.6.6
    • DateTime (ASCIIx20) : 2011:10:02 22:43:37
    • хост-компьютер (ASCIIx16): Mac OS X 10.6.8
    • Exif IFD (LONG): 8 34853
    • GPS IFD (LONG): 248

  • EXIF IDF - - - IDF @[8-134] (10 вступления)
    • ExifVersion (UNDEFINEDx4) : 0220
    • DateTimeOrigina (ASCIIx20) : 2011:04:14 17:22:01
    • UserComment (UNDEFINEDx63): ASCII
    • FlashpixVersion (UNDEFINEDx4) : 0100
    • цветовое пространство (короткое): 1
    • PixelXDimension (LONG): 1022
    • PixelYDimension (LONG): 486
    • неизвестно (ASCIIx13): тег изображения-LOL
    • SceneCaptureType (короткий) : 0

  • GPS и ИДФ--- ИДФ @[248 - 338](7 записей)
    • Индекс Совместимости (ASCIIx2): N
    • Версия Взаимодействия (RATIONALx3) @425: 52/1, 1144/100, 0/1
    • Неизвестно (ASCIIx2): W
    • Неизвестно (RATIONALx3): 1/1, 4392/100, 0/1
    • неизвестно (рационально): 5/1
    • Неизвестно (ASCIIx2): T
    • неизвестно (рационально) : 3694/117

4 76

4 ответа:

PNG не вставляет информацию EXIF. Это позволяет, однако, вставлять метаданные"блоки" внутри изображение. Некоторые из стандартизированные блоки соответствуют нескольким атрибутам EXIF (физические размеры, метка времени). А также можно хранить произвольные текстовые данные как key=>value пары, или для определения новых типов блоков. Таким образом, вы можете теоретически хранить любую информацию EXIF... но, увы,в своем собственном формате. Некоторые попытки чтобы standarize не догнали, кажется.

изменить: версия 1.5.0 (июль 2017)расширения к спецификации PNG 1.2 наконец-то добавил кусок EXIF. Остается только гадать, начнут ли его поддерживать кодеры-декодеры.

магазинах утилиты EXIF информацию в формате PNG "сырьевого профиля введите app1" кусок zTXt при преобразовании изображений в формате JPEG. Этот метод хранения EXIF в PNG-изображениях также поддерживается ExifTool (и я тоже считаю Exiv2), но он не является частью спецификации PNG или EXIF.

Edit: с июля 2017 года PNG официально поддерживает фрагмент eXIf для хранения метаданных EXIF (спецификация). ExifTool 10.59 и более поздняя запись EXIF в этот новый фрагмент в изображениях PNG.

PNG не поддерживает встраивание информации EXIF. При преобразовании из JPEG в PNG информация теряется.

по состоянию на июля 2017, там, кажется, официально зарегистрированный кусок для данных EXIF называется... eXIf:

данные сегмент данных EXIF блок содержит фотографий профиля в формате, указанном в "4.7.2 взаимодействия структуры приложения app1 в сжатых данных" [СІРА ДК-008-2016] за исключением того, что в формате JPEG app1 маркер, длина, и "стандарт EXIF код", который описан в 4.7.2(C), т. е. "данные EXIF", null, и обивка байт, не включенный.

обратите внимание, что это как A) только несколько месяцев (на момент написания), так и B) дополнительное расширение, а не часть базовой спецификации. Поэтому поддержка Блока eXIf может быть ограничена во многих приложениях.