Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тэги JPEG-изображения, как прочитать (изменить) 
:(
    Опции темы
Dr Smth
Дата 9.8.2006, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 11.10.2004
Где: New Podrezkovo

Репутация: нет
Всего: 1



В свойствах jpeg-изображения можно найти вкладку "Сводка", на которой хранится информация о файле: Название, Тема, Автор, Категория, Ключевые слова, Комментарий. По-видимому, это что-то типа тэгов файла. Но как их можно прочитать (изменить) из Delphi?
PM MAIL WWW   Вверх
Alexeis
Дата 9.8.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Dr Smth @  9.8.2006,  17:42 Найти цитируемый пост)
 Но как их можно прочитать (изменить) из Delphi?

Такая информация хранится только в дополнительных тегах со свободной структурой, определяемой приложением ее создавшей. Найти нужный сегмент легко, а вот для разбора структуры нужно обратится на сайт производителя программы созавшей эту картинку. Вероятно здесь есть неофициальные стандарты, но официальная документация не регламентирует их структуру.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Dr Smth
Дата 9.8.2006, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 11.10.2004
Где: New Podrezkovo

Репутация: нет
Всего: 1



В Windows XP эта информация есть у любого JPG-файла, вне зависимости от приложения, которое его создало. Поменять эти тэги можно вручную через сам Windows. Неужели нет никаких функций, которые могли бы сделать это программно?
PM MAIL WWW   Вверх
_hunter
Дата 9.8.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



функций нету (ибо нафик нада?)
вот:
http://www.media.mit.edu/pia/Research/deepview/exif.html
дока


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Alexeis
Дата 9.8.2006, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Спасибо за доку _hunter

Ну вот пожалуйста как я и говорил
Цитата

The marker 0xFFE0~0xFFEF is named "Application Marker", not necessary for decoding JPEG image. They are used by user application. For example, older olympus/canon/casio/agfa digicams use JFIF(JPEG File Interchange Format) for storing images. JFIF uses APP0(0xFFE0) Marker for inserting digicam configuration data and thumbnail image.

Тут может быть что угодно.

Цитата

Also Exif uses an Application Marker for inserting data, but Exif uses APP1(0xFFE1) Marker to avoid a conflict with JFIF format. Every Exif file formats starts from this format;


Часть компаний использует этот сегмент для внедрения своего подсегмента Exif не стандартизированого 
"INFORMATION  TECHNOLOGY –DIGITAL  COMPRESSION  AND  CODING OF  CONTINUOUS-TONE  STILL  IMAGES – REQUIREMENTS  AND  GUIDELINES".

Этот подсегмент есть далеко не во всех картинках, но содержит как раз ту инфу которая нужна.

Добыть ее несложно найдя нужный сегмент, и перейдя по нужному смещению.

Если такой сегмент отсутствует XP его дописывает

Это сообщение отредактировал(а) alexeis1 - 9.8.2006, 22:42


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 10.8.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



PM MAIL   Вверх
Dr Smth
Дата 11.8.2006, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 11.10.2004
Где: New Podrezkovo

Репутация: нет
Всего: 1



Я нашёл тут один модуль, который считывает EXIF-информацию, но у него какие-то проблемы с русскими символами:
скачать.
Сам я не потяну решение данной задачи. Так что помогите, господа опытные программисты. Упростим задачу: к примеру я через свойства файла зашёл на вкладку Сводка и написал какое-то Название. Как прочиталь (или изменить) эту строчку названия программно? /На примере этого одного тега/.
Про маркеры я читал и совершенно запутался (их так много)...
PM MAIL WWW   Вверх
Alexeis
Дата 11.8.2006, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Dr Smth @  11.8.2006,  15:01 Найти цитируемый пост)
 но у него какие-то проблемы с русскими символами:
 насколько я помню, там ASCII кодировка применяется. 
Цитата(Dr Smth @  11.8.2006,  15:01 Найти цитируемый пост)
Про маркеры я читал и совершенно запутался (их так много)...

Про них ничего такого знать не надо. НАчинаются они с $FF, второе число его идентификатор, дальше два байта в обратном (для интел) поряде длина всего сегмента (без учета заголовка, но с учетом самого поля длинны). Нужный нам маркер имеет идентификатор $E1, после того как его нашли, проверяем является ли этот сегмент сегментом EXIF, по его подзаголовку, дальше определяется порядок следования старшего и ммладшего байтов в словах, так как этот подсегмент позволяет оба варианта, далее ищем нужные поля согласно описанию сегмента.
--------------------------------------------------------------------------------------------------------------------------------
Поиск по сайту дал отличный рабочий модуль с примерами, так что и выдумывать ничего не надо
Проикрепляю

--------------------------------------------------------------------------------------------------------------------------------

Прикрепление удалено так как было неполным. Ниже на один пост находится оригинальный вариант модуля с примерами

Это сообщение отредактировал(а) alexeis1 - 12.8.2006, 14:06


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Dr Smth
Дата 12.8.2006, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 11.10.2004
Где: New Podrezkovo

Репутация: нет
Всего: 1



dEXIF.pas отсутствует... - не работает.
PM MAIL WWW   Вверх
Alexeis
Дата 12.8.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Извини это я чуток напутал smile  Вешаю нормальный архив

Это сообщение отредактировал(а) alexeis1 - 12.8.2006, 14:03

Присоединённый файл ( Кол-во скачиваний: 23 )
Присоединённый файл  dEXIFv102a_Source.zip 62,68 Kb


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0917 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.