How can I read the EXIF data from an image taken with an Apple iPhone using C#?
I need the GPS related data.
PS: I know how to read EXIF exc
The MetadataExtractor library has been available for Java since 2002 and is now fully supported for .NET. It supports Exif GPS data from JPEG files, along with a tonne of other metadata types and file types.
Here are examples of the output from an iPhone 4, iPhone 5 and an iPhone 6.
It's available via NuGet:
PM> Install-Package MetadataExtractor
Then, to access the GPS location, use the following code:
var directories = ImageMetadataReader.ReadMetadata(jpegFilePath);
var gps = directories.OfType().FirstOrDefault();
var location = gps?.GetGeoLocation();
if (location != null)
Console.WriteLine("Lat {0} Lng {1}", location.Latitude, location.Longitude);
Or to print out every single discovered value:
var lines = from directory in directories
from tag in directory.Tags
select $"{directory.Name}: {tag.TagName} = {tag.Description}";
foreach (var line in lines)
Console.WriteLine(line);