解决的问题:
问题似乎是我的Exif Gps数据块不正确,我使用了错误的名称,并且有一个不完整的块,正在更改
gpsDict.SetValueForKey (NSObject.FromObject (GpsLong), new NSString ("GPSLongitude"));
gpsDict.SetValueForKey (NSObject.FromObject (GpsLongRef), new NSString ("GPSLongitudeRef"));
gpsDict.SetValueForKey (NSObject.FromObject (GpsLat), new NSString ("GPSLatitude"));
gpsDict.SetValueForKey (NSObject.FromObject (GpsLatRef), new NSString ("GPSLatitudeRef"));
gpsDict.SetValueForKey (NSObject.FromObject (DateTime.UtcNow.ToString ("HH:MM:ss.ff")), new NSString ("GPSTimeStamp"));
到
gpsDict.SetValueForKey(NSObject.FromObject(GpsAltitude),new NSString("Altitude"));
gpsDict.SetValueForKey(NSObject.FromObject(GpsAltitudeRef),new NSString("AltitudeRef"));
gpsDict.SetValueForKey(NSObject.FromObject(GpsImgDirection),new NSString("ImgDirection"));
gpsDict.SetValueForKey(NSObject.FromObject(GpsImgDirectionRef),new NSString("ImgDirectionRef"));
gpsDict.SetValueForKey (NSObject.FromObject (GpsLong), new NSString ("Longitude"));
gpsDict.SetValueForKey (NSObject.FromObject (GpsLongRef), new NSString ("LongitudeRef"));
gpsDict.SetValueForKey (NSObject.FromObject (GpsLat), new NSString ("Latitude"));
gpsDict.SetValueForKey (NSObject.FromObject (GpsLatRef), new NSString ("LatitudeRef"));
gpsDict.SetValueForKey (NSObject.FromObject (DateTime.UtcNow.ToString ("HH:MM:ss.ff")), new NSString ("TimeStamp"));
主要变化是从所有标签名称中删除了GPS前缀,并添加了高度标签。
GPS exif块应如下所示
"{GPS}" = {
Altitude = "14.9281";
AltitudeRef = 0;
ImgDirection = "107.4554";
ImgDirectionRef = T;
Latitude = "30.35514548114219";
LatitudeRef = N;
Longitude = "91.13394105024713";
LongitudeRef = W;
TimeStamp = "15:08:57.93";
};