private static double ConvertCoordinate(ulong[] coordinates) { var degrees = BitmapMetadataExtensions.ConvertToUnsignedRational(coordinates[0]); var minutes = BitmapMetadataExtensions.ConvertToUnsignedRational(coordinates[1]); var seconds = BitmapMetadataExtensions.ConvertToUnsignedRational(coordinates[2]); return(degrees + (minutes / 60.0) + (seconds / 3600)); }
private static DateTime?GetDateTaken(BitmapMetadata metadata) { if (!string.IsNullOrEmpty(metadata.DateTaken)) { DateTime result; if (DateTime.TryParse(metadata.DateTaken, out result)) { return(result); } if (BitmapMetadataExtensions.TryParseExifDateString(metadata.DateTaken, out result)) { return(result); } } return(metadata.ReadDateTime(DateTakenQuery)); }