我有这段代码:
PropertyItem propertyItem;
int degree = 10, minutes = 10, second = 10;
unsigned long ulExifCoordFormat[6] = {degree, 1, minutes, 1, second, 1};
propertyItem.id = PropertyTagGpsLongitude;
propertyItem.type=PropertyTagTypeRational;
propertyItem.length = sizeof( unsigned long ) * 6;
propertyItem.value =ulExifCoordFormat;
bitmap->Setproperty(&propertyItem);
此代码应设置Longitude to 10,10,10,
,但会将其设置为某些错误值。
用于设置“谷歌纵横”的类似代码可以正常使用:
PropertyItem propertyItem;
int degree = 20, minutes = 20, second = 20;
unsigned long ulExifCoordFormat[6] = {degree, 1, minutes, 1, second, 1};
propertyItem.id = PropertyTagGpsLatitude;
propertyItem.type=PropertyTagTypeRational;
propertyItem.length = sizeof( unsigned long ) * 6;
propertyItem.value =ulExifCoordFormat;
bitmap->Setproperty(&propertyItem);
代码基于此MSDN文档:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms533832(v=vs.85).aspx
和这篇文章:
请注意,这取决于我先设定的是哪一个。第一个设置正确,第二个不正确。显然我只能用这个功能添加一个项目。如何同时设置多个项目?