C# Windows Runtime SDK 编辑图片的基本和高级属性
- 技术目标
- 具体步骤
-
- Windows.Storage.Picker 文件选择器
- 获取文件属性对象
- 访问图片文件基本属性
- 访问图片文件高级属性
- 注意事项
技术目标
这里所谓的基本属性是指:tags (keywords), rating。高级属性是指:geographic information (including latitude and longitude) 。我们通过Windows Runtime SDK提供的方法使用C#语言来实现。
具体步骤
Windows.Storage.Picker 文件选择器
var picker = new Windows.Storage.Pickers.FileOpenPick();
picker.viewMode = Windows.Storage.Pickers.PickerViewMode.thumbnail;
picker.pickSingleFileAsync().then(function (file) {... ...});
获取文件属性对象
使用文件选择器得到的file object得到image properties object:
访问图片文件基本属性
使用得到的image properites object获取图片文件的基本属性:
imageProperites.title = tileValue;
imageProperties.rating = userRating; // rating的范围是0~99
imageProperites.keywords.append(keyword); // keywords可以添加多个,系统会自动用“;"分割,无需用户添加
访问图片文件高级属性
获取图片文件高级属性对象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均无法修改和访问。