这里所谓的基本属性是指:tags (keywords), rating。高级属性是指:geographic information (including latitude and longitude) 。
Step1: 打开File Picker选择图片文件:
var picker = new Windows.Storage.Pickers.FileOpenPick();
picker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;
picker.pickSingleFileAsync().then(function (file) {... ...});
Step2: 使用得到的file object得到image properties object:
file.properties.getImagePropertiesAsync().then(function (imageProperties) {... ...});
Step3: 使用得到的image properites object获取图片文件的基本属性:
imageProperites.title = tileValue;
imageProperties.rating = userRating;
// rating的范围是0~99
imageProperites.keywords.append(keyword);
// keywords可以添加多个,系统会自动用“;"分割,无需用户添加
Step4: 获取图片文件高级属性对象advProperites, 并使用它访问geographic information:
imageProperites.retrievePropertiesAsync(
["System.GPS
.LatitudeNumerator",
"System.GPS.LatitudeDenominator",
"System.GPS.LongitudeNumerator",
"System.GPS.LongitudeDenominator"]
).then(function(advProperties) {
advProperties.insert("System.GPS.LatitudeNumerator", latNum);
advProperties.insert("System.GPS.LatitudeDenominator", latDen);
advProperties.insert("System.GPS.LongitudeNumerator", longNum);
advProperties.insert("System.GPS.LongitudeDenominator", longDen);
});
特别注意,rating这个属性必须要大于0,否则keywords以及geographic information均无法修改和访问。