[Скрипт] Чтение EXIF данных

Опубликовал Василий Демидов (Душелов) в раздел Программирование - Практика программирования

Скрипт на C# для чтения Exif-данных из jpg-файла.
Упакован в обработки для 8.1 и 8.2 (управляемые формы)

*** Для работы скрипта потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.

 

EXIF (англ. Exchangeable Image File Format) — стандарт, позволяющий добавлять к изображениям и прочим медиафайлам дополнительную информацию (метаданные), комментирующую этот файл, описывающий условия и способы его получения, авторство и т. п. Получил широкое распространение в связи с появлением цифровых фотокамер. Информация, записанная в этом формате, может использоваться как пользователем, так и различными устройствами, например, принтером. Стандарт EXIF является чрезвычайно гибким (например, позволяет сохранить полученные с приёмника GPS координаты места съёмки) и допускает широкое развитие — как правило, фотоаппараты добавляют к файлу информацию, специфичную только для данной конкретной камеры.

http://ru.wikipedia.org/wiki/EXIF

Скачать файлы

Наименование Файл Версия Размер
Обработка для 8.2 (Управляемые формы)
.epf 45,23Kb
02.07.13
79
.epf 45,23Kb 79 Скачать бесплатно
Обработка для 8.1
.epf 45,07Kb
02.07.13
77
.epf 45,07Kb 77 Скачать бесплатно

См. также

Комментарии
2. Роман Романов (romansun) 170 18.02.11 12:53 Сейчас в теме
(0) А на запись, случайно, нет скрипта? :)

Искал скрипт пару лет назад на запись инфы в jpg. В частности, интересовали данные XMP блока.
3. Василий Демидов (Душелов) 3787 18.02.11 14:22 Сейчас в теме
(2) Ну, думаю, что на запись при желании можно сделать.
4. Ийон Тихий (cool.vlad4) 41 18.02.11 14:35 Сейчас в теме
(2) на запись сделать несложно...по все видимости (0) использует exif library. надо просто передавать любым возможным способом из 1С значение и тег, а затем делать Save(pathfile)
5. Василий Демидов (Душелов) 3787 18.02.11 15:01 Сейчас в теме
(4) Именно так, только мало кто тут сможет это сделать ;)
6. Роман Романов (romansun) 170 18.02.11 15:12 Сейчас в теме
(4)
я тогда подготовился было - нашел ВК, которая читает и пишет в файл напрямую с произвольным позиционированием, посмотрел описание jpg с xmp данными. И даже попробовал ручками в винхексе проэмулировать...

но в граните 1С так и не отлилось :)
Душелов; +1 Ответить 1
7. Василий Демидов (Душелов) 3787 18.02.11 16:02 Сейчас в теме
8. ghost_51 1 18.04.11 21:29 Сейчас в теме
Что-то у меня неработает обработка выдает ошибку Ошибка выполнения скрипта!" в отладчике посмотреел сам скрипт создается валяется в каталоге временных файлов но несоздается файл scv. При запуске ручками созданного обработкой файла exif.bat scv создается, что-то я невкурю что у меня нетак
9. ghost_51 1 19.04.11 19:52 Сейчас в теме
Разобрался проблема была вот в чем каталог временных файлов находится на диске с и в параметры команды не передается путь к скрипту меняем на любую другую букву и все ок работает
10. GSA3D 23.01.12 17:23 Сейчас в теме
(9) ghost_51, Какую букву изменить нужно? Папки временных файлов? Что-то тоже не работает, rezult.csv не создается.
11. ghost_51 1 23.01.12 17:36 Сейчас в теме
Функция ИнициализироватьСкрипт в модуле объекта. Оригинала не сохранилось, теперь у меня выглядит так:

Функция ИнициализироватьСкрипт(АдресКартинки) Экспорт
Скрипт = "C:\" + "Exif.bat";
Результат = "C:\" + "rezult.csv";
ФайлКартинки = "C:\" + "image.jpg";

ExifLibrary = "C:\" + "ExifLibrary.dll";
ДД = ПолучитьМакет("ExifLibrary");
ДД.Записать(ExifLibrary);

Т = ПолучитьМакет("Скрипт");

Если АдресКартинки <> "" Тогда
ДД = ПолучитьИзВременногоХранилища(АдресКартинки);
ДД.Записать(ФайлКартинки);
КонецЕсли;

//установка произвольных параметров
ТекстСкрипта = Т.ПолучитьТекст();
ТекстСкрипта = СтрЗаменить(ТекстСкрипта, "@""rezult.csv""", "@""" + Результат + """");
ТекстСкрипта = СтрЗаменить(ТекстСкрипта, "@""image.jpg""", "@""" + ФайлКартинки + """");

Т.УстановитьТекст(ТекстСкрипта);

Попытка
Т.Записать(Скрипт);
Исключение
Сообщить("Ошибка создания скрипта: " + ОписаниеОшибки());
Возврат Ложь;
КонецПопытки;

Возврат Истина;
КонецФункции
12. Иванов Иван (x2z7yy) 11.05.12 10:50 Сейчас в теме
в этой обработке есть скрипт написанный на .NET (C#) вроде. можно ли его запустить не батником(как тут), а самой 1Ской, через ком объект может как то?
13. Алексей Т. (CratosX) 97 13.05.13 10:33 Сейчас в теме
Интересно, а что это дата последнего входа Душелова на сайт 13.05.2013 09:57?
14. Модератор раздела Артур Аюханов (artbear) 21.05.13 19:30 Сейчас в теме
(13) После его гибели жена имеет доступ к его логину ИС.