У 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. Для контролю якості матеріалів, експертизи й налагодження ланцюжка. Нічого не вивантажується на сервер.
- Відкрити кілька світлин
- Відкрийте до п'ятдесяти світлин, подивіться, які з них мають місцеположення, і заберіть увесь набір таблицею. Нічого не завантажується, а оригінали ніколи не перезаписуються.