【发布时间】:2015-11-11 01:32:42
【问题描述】:
我刚从美国旅行回来,在编辑完所有照片后,我注意到相机使用的是以色列时区,而不是美国时区。有7个小时的时差,所以对我来说是个大问题。我有 175GB 的照片,但我“只关心”大约 350 张照片。我无法手动编辑他们的 EXIF,所以我考虑使用 C#。
这个想法是它会读取每张照片的 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;
}
【问题讨论】: