Чи містить PNG такі дані EXIF, як JPG?


100

Мені було цікаво, чи містить PNG такі дані, як наступні?

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

В даний час використовується ця бібліотека as3 для читання даних.

  • IDF0 --- IDF @ [134 - 248] (9 записів)
    • Орієнтація (КОРОТКА): 1
    • Рішення X (RATIONAL): 72/1
    • Рішення Y (RATIONAL): 72/1
    • Роздільна здатність (КОРОТКО): 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
    • IFD GPS (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
    • ColorSpace (КОРОТКО): 1
    • Розмір пікселяX (LONG): 1022
    • Розмір пікселяY (LONG): 486
    • Невідомо (ASCIIx13): Тег зображень-LOL
    • SceneCaptureType (КОРОТКО): 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
    • Невідомо (RATIONAL): 3694/117

 

Відповіді:


131

Редагувати: Версія 1.5.0 (липень 2017 року) розширень до специфікації PNG 1.2 нарешті додала шматок EXIF. Залишається зрозуміти, чи кодери-декодери почнуть її підтримувати.

Оригінал: PNG не вбудовує інформацію EXIF. Це дозволяє, однак, вбудовувати метадані " шматки " всередину зображення. Деякі з стандартизованих фрагментів відповідають деяким атрибутам EXIF ​​(фізичні розміри, часові позначки). А також можна зберігати довільні текстові дані як key=>valueпари або визначати нові типи фрагментів. Отже, ви можете теоретично зберігати будь-яку інформацію EXIF ​​... але, на жаль, у власному власному форматі. Деякі спроби стандартизації не наздогнали, схоже.


30

Редагувати: З липня 2017 року PNG офіційно підтримує фрагмент eXIf для зберігання метаданих EXIF ​​( специфікація ). ExifTool 10.59 і пізніше напишіть EXIF ​​у цей новий фрагмент у форматі PNG.

Оригінал: ImageMagick зберігає інформацію EXIF ​​у PNG "Сирий профіль типу APP1" zTXt шматок при перетворенні з зображень JPEG. Цей спосіб зберігання EXIF ​​у зображеннях PNG також підтримується ExifTool (і я вважаю, що також Exiv2), але він не є частиною специфікації PNG або EXIF.


Це дуже добре знати! Чи знаєте ви, чи витягує це також з TIFF?
Олів'є - інтерфас

4
Нещодавно група PNG розглядала можливість додавання нового фрагменту "eXIf" та / або "zXIf" для зберігання інформації EXIF. На підтримку цього ExifTool 10.43 додала підтримку фрагментів "exIf" та "zxIf".
PhilHarvey

9

PNG не підтримує вбудовування інформації EXIF. При перетворенні з JPEG в PNG інформація втрачається.


1
ей, чи є якась документація, яка говорить про це? тому що мені потрібен доказ, щоб мій керівник дізнався, як я працюю над проектом, який вимагає від мене прочитати інформацію EXIF ​​для PNG. Якщо це так, я
можу

9
Ви можете вказати його на специфікацію , яка не має явних або явних специфікацій для вбудовування даних EXIF, або до вікі-запису PNG .
Сприйняття

5
Це не зовсім вірно. Наприклад, якщо ви використовуєте convert(з ImageMagick) для перетворення JPEG в PNG, а потім використовуєте convertдля перетворення PNG назад в JPEG, новий JPEG все ще буде мати в ньому дані EXIF.
mofoe

GIMP зберігає "Коментар користувача" в PNG як метадані "EXIF2". Здається, для цього в полях є поле. Я точно не знаю, як саме і чому. У мене сама така вимога.
VectorVictor

1
У 2012 році ця відповідь могла бути правдивою, але чи вона все-таки точна?
RockPaperLz-

7

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

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

Зауважте, що це одночасно A) лише кілька місяців (на момент написання) та B) додаткове розширення, яке не є частиною базової специфікації. Тому підтримка блоку eXIf може бути обмежена у багатьох програмах.


2

Ти мав на увазі:

  1. Чи містять файли PNG елементи перелічених вами метаданих? Коротка відповідь: вона змінюється.
  2. Чи використовує PNG стандарт EXIF ​​для зберігання таких метаданих? Коротка відповідь: Зазвичай ні.

Як правило, PNG використовує різні фрагменти, які є частиною стандарту PNG для зберігання метаданих. Щоб переглянути список:

  • Орієнтація - не застосовується до PNG - фіксується як рядок за рядком, починаючи з верхнього лівого кута.
  • XResolution, YResolution, ResolutionUnit - шматок pHYs .
  • Програмне забезпечення, HostComputer, інші текстові метадані - tEXt, iTXt, zTXt фрагменти.
  • DateTime - Не зрозуміло мені, що це за дата / час. TIME вказує дату / час останньої модифікації даних зображення; інші дати / часи можуть зберігатися в текстових фрагментах. Час створення - це фактично визначений фрагмент тексту, але формат та спосіб обробки часових поясів не визначаються, що є поганим дизайном.
  • ColorSpace, PixelXDimension, PixelYDimension - не впевнений, як це будуть метадані. Вони є основоположними для іміджу, і як такі є в шматку IHDR .
  • Не впевнений, що означають інші, які ви перерахували.

Але дивовижно , останніми роками до офіційного списку шматочків розширень додано фрагмент eXIf (який, по суті, є доповненням до специфікації PNG). Імовірно, він орієнтований на збереження інформації у файлах, перетворених з JPEG / TIFF в PNG і не призначених для використання у файлах, створених спочатку як PNG, але це не ясно.


0

Так і ні.

Як вже було сказано в інших відповідях, у PNG не було офіційного eXIfвідрізка EXIF, поки не було додано v1.5.0 (2017), і наскільки мені відомо, цей фрагмент досі не користується широкою підтримкою.

Але це тому, що це не потрібно. Багато фрагментів програмного кодування кодує EXIF ​​у PNG за домовленістю у iTXt(або стисненому zTXt) фрагменті із позначкою "Сирий профіль типу APP1" . Новий eXIfшматок мав на меті забезпечити стандартизоване місце для цього, хоча, на мою думку, зараз корабель плив.

Крім того, велика частина метаданих стандарту EXIF ​​може бути представлена ​​XMP, альтернативним і новим механізмом транспортування метаданих, який має простору імен EXIF ​​саме для цієї мети. Файли PNG iTXtроками включали документи XMP (включаючи перекладені метадані EXIF) . Ви побачите, що багато процесорів перетворюються між ними на ходу.


Чи перетворюють ці самі процесори, якими б вони не були, перетворюють XMP або EXIF ​​в / з різних стандартних фрагментів метаданих PNG?
Стюарт

@Stewart Стандартні фрагменти метаданих PNG обмежені і не можуть представляти широту даних EXIF ​​або XMP. Ось чому ми історично закодували EXIF ​​/ XMP у файли (текстові фрагменти).
Астероїди з крилами

Гаразд, перефразую це: Чи перетворюють ці самі процесори ті елементи метаданих XMP або EXIF, які можуть бути представлені стандартними фрагментами метаданих PNG, до стандартних фрагментів метаданих PNG, і навпаки?
Стюарт

@Stewart Я не знаю. Я сумніваюся в цьому. Якщо вони будуть, це було б дуже обмежено. В цілому користі від цього дійсно немає; поля EXIF ​​та XMP можуть не бути стандартними, але вони є абсолютно звичайними та широко використовуються. Тому всі просто цим користуються. Метадані PNG містять деякі ключові слова / авторські речі, але це переважно зображення даних.
Астероїди з крилами
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.