![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Dr Smth |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.10.2004 Где: New Podrezkovo Репутация: нет Всего: 1 |
В свойствах jpeg-изображения можно найти вкладку "Сводка", на которой хранится информация о файле: Название, Тема, Автор, Категория, Ключевые слова, Комментарий. По-видимому, это что-то типа тэгов файла. Но как их можно прочитать (изменить) из Delphi?
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Такая информация хранится только в дополнительных тегах со свободной структурой, определяемой приложением ее создавшей. Найти нужный сегмент легко, а вот для разбора структуры нужно обратится на сайт производителя программы созавшей эту картинку. Вероятно здесь есть неофициальные стандарты, но официальная документация не регламентирует их структуру. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Dr Smth |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.10.2004 Где: New Podrezkovo Репутация: нет Всего: 1 |
В Windows XP эта информация есть у любого JPG-файла, вне зависимости от приложения, которое его создало. Поменять эти тэги можно вручную через сам Windows. Неужели нет никаких функций, которые могли бы сделать это программно?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Спасибо за доку _hunter
Ну вот пожалуйста как я и говорил
Тут может быть что угодно.
Часть компаний использует этот сегмент для внедрения своего подсегмента Exif не стандартизированого "INFORMATION TECHNOLOGY –DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES – REQUIREMENTS AND GUIDELINES". Этот подсегмент есть далеко не во всех картинках, но содержит как раз ту инфу которая нужна. Добыть ее несложно найдя нужный сегмент, и перейдя по нужному смещению. Если такой сегмент отсутствует XP его дописывает Это сообщение отредактировал(а) alexeis1 - 9.8.2006, 22:42 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Поиск по слову EXIF: http://forum.vingrad.ru/index.php?act=Sear...if&skipped=
|
|||
|
||||
| Dr Smth |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.10.2004 Где: New Podrezkovo Репутация: нет Всего: 1 |
Я нашёл тут один модуль, который считывает EXIF-информацию, но у него какие-то проблемы с русскими символами:
скачать. Сам я не потяну решение данной задачи. Так что помогите, господа опытные программисты. Упростим задачу: к примеру я через свойства файла зашёл на вкладку Сводка и написал какое-то Название. Как прочиталь (или изменить) эту строчку названия программно? /На примере этого одного тега/. Про маркеры я читал и совершенно запутался (их так много)... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
насколько я помню, там ASCII кодировка применяется.
Про них ничего такого знать не надо. НАчинаются они с $FF, второе число его идентификатор, дальше два байта в обратном (для интел) поряде длина всего сегмента (без учета заголовка, но с учетом самого поля длинны). Нужный нам маркер имеет идентификатор $E1, после того как его нашли, проверяем является ли этот сегмент сегментом EXIF, по его подзаголовку, дальше определяется порядок следования старшего и ммладшего байтов в словах, так как этот подсегмент позволяет оба варианта, далее ищем нужные поля согласно описанию сегмента. -------------------------------------------------------------------------------------------------------------------------------- Поиск по сайту дал отличный рабочий модуль с примерами, так что и выдумывать ничего не надо Проикрепляю -------------------------------------------------------------------------------------------------------------------------------- Прикрепление удалено так как было неполным. Ниже на один пост находится оригинальный вариант модуля с примерами Это сообщение отредактировал(а) alexeis1 - 12.8.2006, 14:06 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Dr Smth |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 11.10.2004 Где: New Podrezkovo Репутация: нет Всего: 1 |
dEXIF.pas отсутствует... - не работает.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Извини это я чуток напутал
Это сообщение отредактировал(а) alexeis1 - 12.8.2006, 14:03 Присоединённый файл ( Кол-во скачиваний: 23 )
dEXIFv102a_Source.zip 62,68 Kb-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |