|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
Прочитать/отредактировать ImageDescription
Собственно сабж.
Из того что накопал в инете - два более или менее приемлемых варианта: CCR.Exif и GDI+ С CCR.Exif собственно все получилось и читает и записывает, но... 1. установить CCR.Exif как компонент не совладал, тупо скопировал все модули в папку с проектом 2. все это, как мне показалось, очень тяжеловесно. Оно и понятно там и камеры разных производителей, и условия съемки, и GPS информация. Попробовал разобраться в исходнике, докопался до какой то процедуры из System.[что-то там], но так ничего и не понял. GDI+. Здесь на форуме нашел тему, начал искать в инете, но на Delphi практически ни чего нет, в основном С++. В целом все понятно - инициализировать библиотеку, создать Image, получить из него TITLE, COMMENTS, KEYWORDS, SUBJECT. Код:
procedure TForm1.FileListBox1Click(Sender: TObject); var inpt: TGdiplusStartupInput; token: DWORD; size: DWORD; img: TGPBitmap; prop: PPropertyItem; begin ListBox1.Clear; GdiplusStartup(token,@inpt,nil); img:= TGPBitmap.Create(FileListBox1.FileName); GdipGetPropertyItemSize(img,GDICOMMENT_WINDOWS_METAFILE,size); GdipGetPropertyItem(img,GDICOMMENT_WINDOWS_METAFILE,size,prop); ListBox1.Items.Append([непонятно что]); img.Free; GdiplusShutdown(token); end; Код:
#define TAG_XP_TITLE 0x9C9B #define TAG_XP_COMMENTS 0x9C9C #define TAG_XP_AUTHOR 0x9C9D #define TAG_XP_KEYWORDS 0x9C9E #define TAG_XP_SUBJECT 0x9C9F Понимаю, то что я написал - ересь. Научите правильно жить. Последний раз редактировалось Помидоркин, 30.11.2018 в 13:50. |