Właśnie wróciłem z podróży do Stanów Zjednoczonych, a po edycji wszystkich zdjęć zauważyłem, że kamera korzystała z izraelskiej strefy czasowej, a nie z amerykańskiego. Jest różnica czasu 7 godzin, więc to dla mnie duży problem. Mam 175 GB zdjęć, ale "tylko" obchodzi mnie około 350 zdjęć. Nie mogę edytować ich EXIF ręcznie, więc pomyślałem o użyciu C#.Zmiana "DateTaken" zdjęcia
Chodzi o to, aby przeczytać EXIF każdego zdjęcia, uzyskać czas i ustawić czas minus 7 godzin na oryginalnym zdjęciu. Próbowałem użyć klasy Image, ale to nie działa. Próbowałem użyć bitmapMetadate i działało! Udało mi się zdobyć czas i zrobić minus siedem godzin, ale nie mam pojęcia, jak to zapisać. Jak mogę to zrobić? Dzięki!
public static string PhotoToBeEdited(FileInfo f)
{
FileStream fs = new FileStream(f.FullName, FileMode.Open, FileAccess.Read, FileShare.Read);
BitmapSource img = BitmapFrame.Create(fs);
BitmapMetadata md = (BitmapMetadata)img.Metadata;
string date = md.DateTaken;
Console.WriteLine(date);
DateTime dt= DateTime.Parse(date);
date = dt.AddHours(-7).ToString();
[...]
return date;
}
Dzięki! Jesteś geniuszem! – GINCHER