Вверх ↑
Этот топик читают: Гость
Ответов: 206
Рейтинг: 2
#1: 2020-11-17 09:28:15 ЛС | профиль | цитата
Приветствую!
Необходимо менять метаданные картинок. Только дата создания, название (не наименование файла), комментарии.
Спасибо всем, кто откликнется.
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
vip
#1.1контекстная реклама от партнеров
Ответов: 206
Рейтинг: 2
#2: 2020-11-17 17:51:18 ЛС | профиль | цитата
Нашел что-то близкое в компоненте Jpeg (Description, DateTime и UserComments). Но так я могу только считывать данные. А как вносить правки в Exif из своей программы?
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 206
Рейтинг: 2
#3: 2020-11-18 16:59:02 ЛС | профиль | цитата
А как вносить правки в Exif из своей программы?
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 1888
Рейтинг: 164
#4: 2020-11-21 22:12:31 ЛС | профиль | цитата
У Exif сложная структура, которая осложняется ещё тем, что при изменении информации надо заново пересчитывать все смещения полей с данными. А некоторые поля - это тоже структуры, и если этого не знать, можно просто запортить их (т.е. потерять правильные смещения, и невозможно будет прочитать).

Подробнее можно почитать тут: https://forum.hiasm.com/topic/67095.
Если есть желание - можете сами реализовать изменение exif, но это на свой страх и риск.
карма: 8
0
Ответов: 206
Рейтинг: 2
#5: 2020-11-22 00:35:51 ЛС | профиль | цитата
3042, я видел эту тему. Обобщенно суть проблемы я понял. Сам я, конечно, ни чего сделать не смогу, что уж там.
Тогда все. ((
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Главный модератор
Ответов: 2961
Рейтинг: 390
#6: 2020-11-27 09:09:07 ЛС | профиль | цитата
Операции с метаданными
карма: 7
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 132
Рейтинг: 22
#7: 2020-11-27 22:23:07 ЛС | профиль | цитата
inter1,
А как вносить правки в Exif из своей программы?

Сделал небольшой пример как можно просматривать теги Exif и редактировать некоторые из них, используя "exiftool.exe".
Add(MainForm,2953706,35,42)
{
Width=646
Caption="Метаданные картинки: чтение, изменение"
Point(Handle)
link(onCreate,16109481:doPopup,[(74,62)(74,83)(25,83)(25,111)])
}
Add(WinExec,12060573,350,91)
{
FileName="exiftool.exe"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
link(onConsoleResult,12854544:doText,[])
}
Add(DropFile,7448277,196,56)
{
link(onDropFile,1640921:doWork1,[(256,62)])
}
Add(Menu,1371778,133,98)
{
Menu=#9:Read Exif|0:|
Point(onSelectNum)
link(onSelectNum,11186591:doExecute,[])
}
Add(ODialog,11186591,196,105)
{
link(onExecute,1640921:doWork2,[])
}
Add(HubEx,1640921,252,105)
{
link(onEvent,3018808:doValue,[])
}
Add(WinTools,16109481,35,98)
{
link(Handle,2953706:Handle,[])
}
Add(ListBox,12854544,399,84)
{
Width=630
Height=261
Align=5
Font=[Lucida Console,8,0,0,204]
DataType=1
Point(String)
Point(onMouseDown)
link(onMouseDown,6610956:doEvent,[])
}
Add(IndexToChanel,6610956,455,98)
{
link(onEvent2,9968219:doPopupHere,[])
}
Add(PopupMenu,9968219,504,105)
{
Menu=#8:Изменить|
link(onClick,372440:doSplit,[])
}
Add(StrPart,372440,553,105)
{
Char=":"
Point(Left)
Point(Right)
link(onSplit,4665449:doWork1,[])
link(onPart,4665449:doWork2,[])
link(Str,12854544:String,[(559,89)(445,89)(445,126)(426,126)])
}
Add(ChildPanel,4665449,602,105)
{
link(onEvent1,6635445:doWork1,[(641,111)(641,76)(326,76)])
}
BEGIN_SDK
Add(EditMulti,2791949,14,7)
{
EventCount=1
WorkCount=2
VarCount=2
Width=321
Height=305
link(doWork1,2330609:doTrim,[(74,13)(74,27)])
link(doWork2,9998415:doTrim,[(32,20)(32,69)])
}
Add(Panel,8215020,35,105)
{
Top=234
Width=630
Height=27
Align=4
}
Add(Label,2319504,154,63)
{
Left=2
Top=2
Width=170
Height=23
Align=1
Caption=""
}
Add(Edit,9456596,189,14)
{
Left=172
Top=2
Width=381
Height=23
Align=5
Text=""
}
Add(Button,3951807,49,161)
{
Left=553
Top=2
Width=75
Height=23
Align=3
Caption="Записать"
link(onClick,13655842:doMessage,[])
}
Add(Trim,9998415,105,63)
{
link(onTrim,2319504:doText,[])
}
Add(Trim,2330609,105,21)
{
link(onTrim,9456596:doText2,[])
}
Add(Message,13655842,98,161)
{
Message="Уверены что хотите изменить данные в файле."
Caption="Внимание"
Type=1
Point(onOK)
link(onOK,1690141:doString,[])
}
Add(GlobalVar,8947609,175,133)
{
Name="file"
}
Add(FormatStr,1690141,154,168)
{
DataCount=3
Mask="-%1=%2 %3"
link(onFString,2791949:onEvent1,[(228,174)(228,13)])
link(Str1,2319504:Caption,[])
link(Str2,9456596:Text,[(167,103)(195,103)])
link(Str3,8947609:Var,[(174,152)(181,152)])
}
END_SDK
Add(GlobalVar,3018808,273,105)
{
Name="file"
link(onValue,6635445:doWork2,[])
}
Add(HubEx,6635445,322,105)
{
link(onEvent,12060573:doConsoleExec,[])
}
Add(InfoTip,7235781,49,189)
{
Info=#122:Скачайте с сайта https://exiftool.org/ версию "exiftool.exe" для windows по ссылке https://exiftool.org/exiftool-12.10.zip|100:Разорхивируйте, переименуйте файл "exiftool(-k).exe" на "exiftool.exe" и положите рядом с программой.|
HAlign=0
Width=624
Height=53
Margin=10
}

Можешь скачать готовый архив со схемой. https://yadi.sk/d/ObXst3rrpAFMiw

Редактировалось 2 раз(а), последний 2020-11-27 22:26:19
карма: 4

0
Ответов: 206
Рейтинг: 2
#8: 2021-03-28 22:47:09 ЛС | профиль | цитата
Gunta писал(а):
Сделал небольшой пример как можно просматривать теги Exif и редактировать некоторые из них, используя "exiftool.exe"

Спасибо, а я и не видел. Нужно подключить уведомления.

Редактировалось 1 раз(а), последний 2021-03-28 22:59:21
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)