Учебные материалы


Коротко о главном.



Карта сайта getaptd.ru

С самого первого дня, еще тогда, когда я делал свои первые пробные кадры, у меня вошло в привычку нажимать "Properties" в любимой ACDSee и смотреть вкладку "Metadata". Впоследствии, я сменил несколько просмотрщиков, но ни один из них не мог работать с Exif так, как мне бы хотелось, наверное, по одной простой причине - просмотрщики должны уметь показывать само фото, а функции работы с метаданными у них всего лишь полезные программные дополнения, не более. И вот, у меня родилась идея написать нужную мне программу самому, и я на пару недель плотно засел за изучение документации. Человек я по природе своей ленивый, и именно поэтому моя `ShowExif ;-)` изначально "затачивалась" под аппараты того производителя, которые меня более всего интересовали, а именно под аппараты компании Canon. Тем не менее, программа работает и с файлами JPEG других производителей.

Теперь немного о самой программе. Разумеется, она бесплатна. Разумеется, она запускается только из-под Windows. И, разумеется, она имеет статус `beta`. Разумеется, программа не имеет инсталлятора, чтобы лишний раз не нервировать пользователя. Разумеется, она использует старую добрую систему ini-файлов, и потому в ней нет ни одной процедуры, которая шарилась бы по вашему и без того захламленному реестру. Разумеется, ini-файлы хранятся в том же каталоге, что и сама программа, а не в каких-нибудь системных папках Windows, откуда их нужно было бы выуживать, если возникла необходимость. И, разумеется, удаление программы, в случае надобности, не составляет труда, просто удаляете директорию, где она живет, и готово. Разумеется, программа не перегружена графикой и скинами. Разумеется, в программе есть русский интерфейс. И, разумеется, все права на программу принадлежат ее автору, т.е. мне, и это, согласитесь, логично.

Теперь немного о самой сути стандарта Exif. Не бойтесь, грозными формулами и многостраничными структурами я вас утомлять не стану. Просто скажу пару слов о том, как все это примерно работает. Поток данных формата JPEG кодируется программой-создателем и подлежит последующему декодированию программой-просмотрщиком или программой-редактором. Нас это сейчас особо не интересует, поскольку сами данные JPEG не имеют непосредственного отношения к EXIF. Повторюсь, я не знаю, кому конкретно пришла в голову мысль создать стандарт, позволяющий "прицепить" к блоку данных JPEG блоки метаданных, но мысль эта, очевидно, весьма здравая. И идея эта явно заслуживает уважения, хотя реализация, на мой взгляд, все же хромает. В общих чертах, очень упрощенно говоря, файл JPEG с метаданными выглядит так:

Начало файла Основной раздел Exif Дополнительный раздел Маркер потока JPEG Поток JPEG Конец файла

Повторюсь, все это очень упрощенно, излагаю только саму поверхностную суть, в действительности тут намного больше нюансов. Начинается JPEG всегда одинаково. С т.н. маркера начала изображения. Далее идут секции метаданных, тоже разделенные маркерами. Затем идет маркер начала потока JPEG. Затем сами данные JPEG. А потом маркер конца файла. Основная задача просмотрщиков - декодирование данных JPEG потока, в то время как основная задача "ShowExif ;-)" - декодирование разделов EXIF, которых, кстати говоря, вполне может быть больше, чем показано на схеме, то есть, больше, чем два. Разделы Exif представляют собой массивы "Тэг - значение". Количество тэгов ограничено разумным числом. Так называемый "Основной раздел Exif" содержит описанные стандартом тэги, на присутствии которых настаивает спецификация, а каждый из этих тэгов имеет свое значение, причем, некоторые из этих значений описаны в спецификации, как фиксированные комбинации (массивы), а некоторые могут быть произвольными. Естественно, что многим производителям стало мало таких жестких рамок, и в дополнение к основному разделу EXIF в файл JPEG их камеры пишут так называемый "MakerNote", раздел, расширяющий объем информации о съемке. Для тэгов в этом разделе жестких рекомендаций со стороны стандарта нет, и каждый из производителей вводит свой "микростандарт", который на деле является комбинацией нужных тэгов, причем, порядок следования этих тэгов и их расшифровку производители не разглашают. Т.е. ситуация такая: штатные программы производителей MakerNote без проблем расшифровывают, а остальные разработчики вынуждены до всего доходить сами, потому как официальной документации от производителей нет. Все. Как и обещал - самую суть, без утомительного углубления в детали.

Загрузка...



edu 2018 год. Все права принадлежат их авторам! Главная