我在将 GPS 坐标转换为可以存储为 EXIF 信息的字节数组时遇到问题。
这个问题指出 EXIF 坐标应表示为三个有理数:degrees/1, minutes/1, seconds/1
. 我没有问题将十进制坐标转换为那个。例如42.1234567
很容易转换为42/1, 7/1, 24/1
.
我的问题是,当我将其写入图像 EXIF 信息时,我不明白如何将其表示为字节数组。我正在使用的库称为ExifWorks,我在 VB.NET 中使用它。
ExifWorkssetProperty
方法需要三件事:EXIF 字段 ID、作为数据的字节数组和数据类型。这是我如何使用它:
ew.SetProperty(TagNames.GpsLatitude, byteArrayHere, ExifWorks.ExifDataTypes.UnsignedRational)
我也试过:
ew.SetPropertyString(TagNames.GpsLatitude, "42/1, 7/1, 24/1")
这也行不通。
所以,我的问题是,如何将度-分-秒坐标转换为字节数组?到目前为止,我尝试过的所有内容都以无效的 EXIF 信息告终,并且不起作用。一个通用的解决方案很好......不一定必须在 VB.net 中工作。