TIFF — та структура, на якій збудували EXIF.

Перетягніть TIFF нижче. Ваш браузер майже напевно не зуміє його намалювати, а теги все одно прочитаються.

У TIFF метадані і є файл

Усі інші формати приробляють метадані збоку: JPEG кладе блок TIFF усередину сегмента APP1, HEIC зберігає його елементом, PNG вигадав чанки. У TIFF сегмента немає, бо він і не потрібен — файл відкривається 8-байтовим заголовком, що вказує на Image File Directory, і цей каталог водночас список тегів і покажчик на пікселі. Читаючи EXIF будь-де ще, ви читаєте уламок TIFF, скопійований в інший контейнер.

Порядок байтів оголошують, а не припускають

TIFF починається з II або MM — Intel чи Motorola, від молодшого або від старшого байта — а слідом пише число 42 у тому самому порядку як самоперевірку. Усе, що йде далі, кожне зміщення й кожне ціле, читається саме так. Тому один і той самий тег може лежати у двох різних розкладах байтів, і тому обрізаний TIFF відмовляє так повно: втративши заголовок, не можна витлумачити жодного зміщення у файлі.

Один файл, кілька каталогів

IFD зчеплені: кожен закінчується зміщенням наступного або нулем. Багатосторінкове сканування використовує цей ланцюг для сторінок, а мініатюра зазвичай лежить у другому каталозі. EXIF і GPS — підкаталоги, підвішені до першого тегами-покажчиками. Тож таблиця нижче, можливо, показує вам першу сторінку з кількох — і сирий DNG, який є TIFF із додатковими тегами, влаштований так само.

Де TIFF тримає речі

II / MM
Порядок байтів, у перших двох байтах. Усе решта читається через нього.
IFD0
Основний каталог: теги зображення, марка, модель, орієнтація, роздільність.
IFD1
Другий каталог, за звичаєм мініатюра або наступна сторінка.
ExifIFD
Експозиція, об'єктив і час зйомки. Підкаталог, до якого веде тег-покажчик.
GPSIFD
Широта, довгота, висота. Ще один підкаталог.
StripOffsets
Де лежать пікселі. Такий самий тег, як усі — у цьому й суть.

Питання про TIFF

Чому теги читаються, якщо браузер не показує зображення?Відкрити

Бо прочитати теги — означає пройти каталогами та зміщеннями, а це арифметика, тоді як показати зображення потребує декодера під те стиснення, яким користується файл. Жоден поширений браузер декодера TIFF не несе. Попередній вигляд скаже, що недоступний; таблиця тегів буде повною.

DNG — це те саме, що TIFF?Відкрити

За будовою майже. DNG збудований на TIFF/EP, тож у нього той самий заголовок, ті самі каталоги й ті самі 12-байтові записи тегів плюс додаткові теги для сирих даних сенсора. Усе, що ви дізналися тут про IFD, до нього застосовне.

У моєму TIFF 40 сторінок. Яку я бачу?Відкрити

Першу. Каталоги — зв'язаний список, і ця робоча область читає той, на який вказує заголовок, тобто першу сторінку. Подальші сторінки несуть власні теги й не показуються.

Як очищається TIFF?Відкрити

Через очищення перекодуванням, яке вивантажує JPEG. Оскільки теги TIFF і його покажчик на пікселі живуть в одній структурі, відпустити теги й лишити файл TIFF'ом у браузері неможливо — та й записати TIFF жоден браузер усе одно не вміє.

Що він уміє

Видалити дані EXIF
Перетягніть фотографію й завантажте копію без вшитих метаданих. У JPEG відпадає сегмент EXIF без жодного дотику до пікселів; HEIC, PNG, WebP та інші перекодовуються. Нічого не вивантажується на сервер.
Прибрати GPS-координати
Подивіться координати, які несе фотографія, і завантажте копію без них. JPEG втрачає теги місця й зберігає все інше. Нічого не вивантажується на сервер.
Редагувати EXIF у JPEG
Змінюйте заголовок, автора, опис, права, програму та час зйомки в JPEG, а тоді завантажуйте змінену копію. Працює на пристрої; ваш вихідний файл ніколи не чіпають.
Переглядач XMP, IPTC та ICC
Читайте кожну групу метаданих, яку несе файл — EXIF, XMP, IPTC, ICC, нотатки виробника — згрупованими та вивантажуваними в JSON. Для контролю якості матеріалів, експертизи й налагодження ланцюжка. Нічого не вивантажується на сервер.
Відкрити кілька світлин
Відкрийте до п'ятдесяти світлин, подивіться, які з них мають місцеположення, і заберіть увесь набір таблицею. Нічого не завантажується, а оригінали ніколи не перезаписуються.