데비안의 Imagemagick 6.9.11-60. 사진을 촬영한 날짜와 시간을 이미지에 어떻게 인쇄하나요? (기존 이미지). 카메라 설정에서 이 옵션을 설정했는데 새 사진에만 작동합니다. 날짜는 이미지 메타데이터에 있습니다. 사진을 찍은 실제 날짜여야 하며 PC 하드 드라이브에 저장된 날짜가 아닙니다.
답변1
가지고 있는 이미지와 메타데이터에 따라 많은 것이 달라질 수 있지만, 예를 들어 ImageMagick을 사용하면 다음을 사용하여 EXIF 날짜와 myphoto.jpg
시간을 인쇄할 수 있습니다.
magick myphoto.jpg -fill black -undercolor white -pointsize 96 -gravity southeast \
-annotate 0 ' %[exif:datetime] ' output.jpg
magick
해당 명령이 없으면 convert
제대로 작동합니다. ISO가 아닌 날짜 형식을 원하는 경우 먼저 다른 도구를 사용하여 날짜를 추출 identify
하고 조작할 수 있습니다.awk
identify -format '%[exif:datetime]' myphoto.jpg |
awk -F'[ :]' '{print $3":"$2":"$1 " " $4":"$5}'
2023:10:04 09:29:24
으로 변경됩니다 04:10:2023 09:29
.
이미지에 EXIF 데이터가 없으면 다른 타이밍 정보(예: )를 찾을 수 있습니다 '%[date:create]'
. identify -verbose
모든 속성을 나열하려면 파일에 사용하세요.
주석에 적합한 포인트 크기를 계산하려면 다음과 같이 유사하게 identify
이미지의 너비를 찾을 수 있습니다.
identify -format '%w' myphoto.jpg
바라보다이미지 매직많은 예와 대안이 있습니다. 다음은 작은 쉘 스크립트입니다:
#!/bin/bash
let ps=$(identify -format '%w' input.jpg)/20
# 2023:10:04 09:29:24
datetime=$(identify -format %[exif:datetime] input.jpg)
if [ -z "$datetime" ]
then # date:create: 2023-11-11T14:40:21+00:00
datetime=$(identify -format %[date:create] input.jpg)
fi
datetime=$(echo "$datetime" | gawk -F'[- :T+]' '{print $3":"$2":"$1 " " $4":"$5}' )
magick input.jpg -fill black -undercolor white -pointsize "$ps" -gravity southeast \
-annotate 0 "$datetime" output.jpg