Russian Qt Forum

Программирование => Общий => Тема начата: Svetozar от Сентябрь 20, 2010, 01:52



Название: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Сентябрь 20, 2010, 01:52
(http://s2.itrash.ru/idb/acbed16aea240b1991c9917ea00604b7/ohelp_info.jpg)
Совершенно не понимаю как можно подкопаться к данным записанным в свойствах файла, в частности к "ключевым словам" JPG-картинок, чтобы можно прочитать и отредактировать... (которые так просто редактируются с помощью Explorer`а в Win7)
Заранее благодарю за любые подходящие предложения :)


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Denjs от Сентябрь 20, 2010, 02:56
а что в Ассистанте по этому поводу говорится в статьях с многообещающими названиями "Reading and Writing Image Files" и "QImage"?   8)


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: igor_bogomolov от Сентябрь 20, 2010, 07:42
Копать в сторону EXIF (http://ru.wikipedia.org/wiki/EXIF).
В Qt Extended (http://doc.qt.nokia.com/qtextended4.4/index.html) были классы QExifImageHeader (http://doc.qt.nokia.com/qtextended4.4/qexifvalue.html) и QExifValue (http://doc.qt.nokia.com/qtextended4.4/qexifvalue.html) для работы с exif метаданными. Сейчас разработка Qt Extended прекращена.


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Сентябрь 20, 2010, 13:05
В QImage есть какие-то функции типа:
QString   text ( const QString & key = QString() ) const
QStringList   textKeys () const
только что они дают я не понял - т.к. попробовал и всегда получал пустые строки...  :-\

Что там в Ассистансе написано, как доберусь до него, загляну...  :)

На счет EXIF`а понятно, спасибо, только вот из-за окончания разработки Qt Extended задача становится не_тривиальной...  ???
...сайт где можно было скачать Qt Extended не работает с надписью "It works!" %)))


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: igor_bogomolov от Сентябрь 20, 2010, 14:09
На счет EXIF`а понятно, спасибо, только вот из-за окончания разработки Qt Extended задача становится не_тривиальной...  ???
...сайт где можно было скачать Qt Extended не работает с надписью "It works!" %)))
Склонируй репозиторий scenegraph (http://qt.gitorious.org/qt-labs/scenegraph). В нём есть примерчик photos (http://qt.gitorious.org/qt-labs/scenegraph/trees/master/examples/photos), как раз то что тебе надо


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: crossly от Сентябрь 20, 2010, 14:13
Цитировать
На счет EXIF`а понятно, спасибо, только вот из-за окончания разработки Qt Extended задача становится не_тривиальной... 
...сайт где можно было скачать Qt Extended не работает с надписью "It works!" %)))
http://qtmoko.org/ (http://qtmoko.org/)


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Сентябрь 20, 2010, 23:21
большое спасибо за наводки! буду пробовать... 
найду способ - отпишусь! :)


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Сентябрь 29, 2010, 02:35
пока безуспешно...  смог получить все стандартные теги, но не_те_которые_надо... :(
только лишь выяснил, что эти_самые_теги хранятся не в Exif`е, а в Xmp.

Цитировать
XMP (eXtensible Metadata Platform) — стандарт, разработанный Adobe. Метаданные хранятся в модели RDF, представленной в формате XML, позволяя включать любую необходимую информацию в файл изображения. Именно этот формат предпочитает использовать WIC (Windows Imaging Component) в Windows Vista/7.
ссылка по теме: http://habrahabr.ru/blogs/net/93119/
но там идет речь о WPF...

Вот например как их видит программа "Exif Pilot":
"/Xmp/Dublin Core Schema/Предмет съёмки", "ткань; РЅСЋ; развалины"
последние символы ТОЧНО эти_самые_теги (просто потому что я знаю что там написано: "ткань; ню; развалины")

вообщем неспешно копаю дальше... :)


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Сентябрь 29, 2010, 03:46
еще нашел по теме:
http://olliwang.com/2010/03/03/an-example-to-extract-iptc-data-using-qmeta/
http://olliwang.com/2010/02/05/using-qmeta-to-extract-exif-data-in-your-qt-applications/


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Alex Custov от Сентябрь 29, 2010, 04:05
хорошая табличка: http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Сентябрь 29, 2010, 15:52
табличка хорошая :) спасибо

но нужен XMP...

Библиотека Олли Вонга кажется очень даже подходящей, но я не могу под виндой собрать исходники в lib+h. Наверное это как-то возможно и под виндой, но я не настолько опытный программист... :(
Может кто помочь скомпилить QMeta с Qitti (отсюда: http://github.com/ollix)?


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Alex Custov от Сентябрь 29, 2010, 17:03
просто добавь их в свой проект


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Сентябрь 29, 2010, 19:47
просто добавь их в свой проект

пробовал и_так_и_сяк... мне посоветовали собрать их в lib чтобы компилилось...
может надо было как-то по-другому просто поступить :)

эх, всё_таки я еще нуб в этом деле... :(


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: Svetozar от Октябрь 03, 2010, 19:18
Пожалуйста, помогите!
Как "просто" добавить эти библиотеки в проект, чтобы они компилировались?


Название: Re: Прочитать и записать "теги" в файлах *.jpg
Отправлено: interv от Июнь 15, 2012, 13:26
1. Качаешь либу.
2. Распаковываешь файлы (FreeImage.dll, FreeImage.h, FreeImage.lib) в папку с проектом.
3. Добовляеш в pro файл LIBS += FreeImage.lib
4. Качаеш хелп оттудаже (англицкий, но все понятно)
5. Уряяяя все заработало
6. Если не заработало, то печалько.

Файл с проектом прикреплен (берет все фотки jpg из директории и взависимости от exif данных копирует в другую папку)
необходима библиотека FreeImage