Thread Bilder - Aufnahmezeitpunkt schreiben
(19 answers)
Opened by jan99 at 2015-05-25 11:40
hi!
nee - alles klasse ! Nur das Startdatum kann nicht aus besagten Gründen aus dem ersten Bild übernommen werden. Habe das etwas modifziert und dabei ist folgendes herausgekommen ... Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #!/usr/bin/perl # Quelle: http://www.perl-community.de/bat/poard/thread/19667 # install Image::ExifTool use strict; use warnings; use 5.010; my $DEBUG; #use Time::Piece; use Time::Seconds; my $t = Time::Piece->strptime('2015:05:26 13:55:22', '%Y:%m:%d %H:%M:%S'); my $zeit_differenz = +2; # 2 Sekunden my $start_datum; my $first = 1; for my $fn (<*.jpg>) { # hole alle Dateien per glob my $date = $t->ymd(":")." ".$t->hms; # Datumszeichenkette bauen $DEBUG && say "Next date: $date"; change_exif_date($fn, $date); # neues EXIF-Datum in Datei setzen $t += $zeit_differenz; # nächsten Zeitpunkt setzen } use Image::ExifTool; sub change_exif_date { my $file_name = shift; my $date = shift; my $exifTool = Image::ExifTool->new; my $info = $exifTool->SetNewValuesFromFile($file_name); # Original EXIF-Daten holen $exifTool->SetNewValue(DateTimeOriginal => $date); # Originaldatum (EXIF-Tag DateTimeOriginal) setzen $exifTool->SetNewValue(CreateDate => $date); # Erzeugungsdatum (EXIF-Tag CreateDate) setzen my $success = $exifTool->WriteInfo($file_name); # EXIF-Daten zurückschreiben return $success; } Vermutlich habe ich noch ein Fehler in der Arbeit mit Time::Piece... Quote Kannst Du mir da nochmal die Richtung zeigen ... Gruß Jan perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
|