Các MetadataExtractor thư viện đã sẵn sàng cho Java từ năm 2002 và hiện được hỗ trợ đầy đủ cho .NET. Nó hỗ trợ dữ liệu Exif GPS từ các tệp JPEG, cùng với rất nhiều loại siêu dữ liệu và loại tệp khác.
Dưới đây là ví dụ về đầu ra từ một số iPhone 4, iPhone 5 và iPhone 6.
Nó có sẵn thông qua NuGet:
PM> Install-Package MetadataExtractor
Sau đó, để truy cập vào vị trí GPS, sử dụng đoạn mã sau:
var directories = ImageMetadataReader.ReadMetadata(jpegFilePath);
var gps = directories.OfType<GpsDirectory>().FirstOrDefault();
var location = gps?.GetGeoLocation();
if (location != null)
Console.WriteLine("Lat {0} Lng {1}", location.Latitude, location.Longitude);
Hoặc để in ra tất cả các giá trị phát hiện duy nhất:
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);
Nguồn
2015-08-09 21:49:28
Bạn đã giải quyết vấn đề này chưa? Tôi có cùng một vấn đề. Apple không lưu trong PropertyTagGpsLatitude = 0x0002 và PropertyTagGpsLongitude = 0x0004 :( – andySF