Используя ImageMagick, напишите дату создания на изображении. - PullRequest
0 голосов
/ 10 июля 2020

В настоящее время я использую эти команды по порядку, чтобы установить:

a) В имени файла укажите дату и время b) Создайте заполненное пространство на изображении c) Поместите мой водяной знак на созданное заполненное пространство .

Я бы хотел, чтобы в заполненном пространстве была добавлена ​​дата создания. Это возможно? А как это может случиться?

  for pic in DSC*.*; do  exiftool "-FileName<CreateDate" -d  "${pic//.*}_%Y%m%d_%H%M%S.jpg" "$pic"; done;
  for pic in DSC*.*; do convert -background black -extent 0%x0%+0+120 "$pic" "${pic//.*}-padded.jpg"; done;
  for pic in DSC*-padded.*;  do composite -dissolve 100% -gravity SouthEast /Data/PHOTOS/watermark_0.png "$pic" "${pic//.*}-marked.jpg"; done

1 Ответ

0 голосов
/ 11 июля 2020

Команда использует «stat - c '% y'», чтобы взять дату изменения, которая хранится в файловой системе. Не все файловые системы хранят исходную дату создания файла. Поэтому я использовал дату последнего изменения. Команда stat может найти дату любого типа, если она хранится в файловой системе, в противном случае не вернуть ничего.

Затем, используя команду annotate imagemagick, я записываю ее на самом изображении.

  for pic in DSC*.*; do  convert "$pic"  -pointsize 24 -fill white -undercolor '#00000080' -gravity SouthWest -annotate +10+20 "$(stat -c '%y' "$pic")" "${pic//.*}_dated.jpg"; done;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...