【发布时间】:2018-10-01 17:33:52
【问题描述】:
我正在以编程方式更新一堆扫描的 jpg 图像的 exif 数据
我在更新大多数 exif 数据时没有遇到太多麻烦,但我正在努力设置 gps 坐标
例如我正在尝试将纬度坐标保存如下
PropertyItem PropertyTagGpsLatitude = srcImg.GetPropertyItem(2);
PropertyTagGpsLatitude.Value = System.Text.ASCIIEncoding.ASCII.GetBytes("42/1,5/1,33/1");
srcImg.SetPropertyItem(PropertyTagGpsLatitude);
根据它声明的文档
纬度表示为给出度数的三个有理值, 分,秒。当度、分和秒 表示,格式为dd/1、mm/1、ss/1。当度数和 使用分钟,例如,放弃分钟的分数 保留两位小数,格式为 dd/1, mmmm/100, 0/1。
https://msdn.microsoft.com/en-us/library/windows/desktop/ms534416(v=vs.85).aspx
我可以设置其他与 gps 相关的数据,例如这可以正确翻译
PropertyItem PropertyTagGpsLatitudeRef = srcImg.GetPropertyItem(1);
PropertyTagGpsLatitudeRef.Value = System.Text.ASCIIEncoding.ASCII.GetBytes("N");
srcImg.SetPropertyItem(PropertyTagGpsLatitudeRef);
我没有遇到任何异常,我只是使用 Exif Pilot 实用程序验证 exif 数据,发现它没有正常工作
【问题讨论】:
-
如果您找到了解决方案;您应该将您的解决方案发布为答案并接受它,而不是将其发布到问题中。这样其他有类似问题的人就会看到这个问题被标记为已解决。