PNG содержит данные EXIF, такие как JPG? - PullRequest
89 голосов
/ 03 марта 2012

Мне было интересно, содержит ли PNG данные, подобные приведенным ниже?

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

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

  • IDF0 --- IDF @ [134 - 248] (9записи)
    • Ориентация (КОРОТКОЕ): 1
    • XResolution (РАЦИОНАЛЬНОЕ): 72/1
    • YРезрешение (RATIONAL): 72/1
    • ResolutionUnit (КРАТКОЕ): 2
    • Программное обеспечение (ASCIIx16): QuickTime 7.6.6
    • DateTime (ASCIIx20): 2011: 10: 02 22:43:37
    • HostComputer (ASCIIx16): Mac OS X 10.6.8
    • Exif IFD (ДОЛГО): 8 34853
    • GPS IFD (ДОЛГО): 248

  • EXIF ​​IDF --- IDF @ [8 - 134] (10 записей)
    • ExifVersion (UNDEFINEDx4): 0220
    • DateTimeOrigina (ASCIIx20): 2011: 04: 14 17: 22: 01
    • Комментарий пользователя (НЕ УКАЗАНОx63): ASCII
    • FlashpixVersion (UNDEFINEDx4): 0100
    • ColorSpace (SHORT): 1
    • PixelXDimension (LONG): 1022
    • PixelYDimension (LONG): 486
    • Unknown (ASCIIx13): тег изображения-LOL
    • SceneCaptureType (SHORT): 0

  • GPS IDF --- IDF @[248 - 338] (7 записей)
    • Индекс совместимости (ASCIIx2): N
    • Версия совместимости (RATIONALx3) @ 425: 52/1, 1144/100, 0/1
    • Неизвестно (ASCIIx2): W
    • Неизвестно (RATIONALx3): 1/1, 4392/100, 0/1
    • Неизвестно (RATIONAL): 5/1
    • Неизвестно (ASCIIx2): T
    • Неизвестно (РАЦИОНАЛЬНО): 3694/117

Ответы [ 4 ]

122 голосов
/ 06 марта 2012

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

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

29 голосов
/ 23 июля 2014

ImageMagick сохраняет информацию EXIF ​​в формате PNG «Raw профиля типа APP1» zTXt при преобразовании изображений JPEG.Этот метод хранения EXIF ​​в изображениях PNG также поддерживается ExifTool (и я верю, что Exiv2 тоже), но он не является частью спецификации PNG или EXIF.

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

11 голосов
/ 03 марта 2012

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

6 голосов
/ 06 октября 2017

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

Сегмент данныхБлок eXIf содержит профиль Exif в формате, указанном в «4.7.2 Структура взаимодействия APP1 в сжатых данных» [CIPA DC-008-2016], за исключением того, что описан маркер JPEG APP1, длина и описанный «Код Exif ID»в 4.7.2 (C), т. е. «Exif», NULL и заполненный байт не включены.

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

...