Я только что вернулся из поездки в США, и после редактирования всех фотографий я заметил, что камера использовала израильский часовой пояс, а не американец. Существует разница в 7 часов, поэтому для меня это большая проблема. У меня 175 ГБ фотографий, но мне все равно "всего" около 350 фотографий. Я не могу редактировать их EXIF вручную, поэтому я подумал об использовании С#.
Идея состоит в том, что он будет читать каждую фотографию EXIF, получить время и установить время минус 7 часов на исходной фотографии. Я попытался использовать класс Image, но он не работает. Я попытался использовать bitmapMetadate, и это сработало! Мне удалось получить время и сделать минус семь часов, но я понятия не имею, как его сохранить. Как мне это сделать? Спасибо!
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;
}