天天看点

C# Windows Runtime SDK 编辑图片的基本和高级属性技术目标具体步骤

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均无法修改和访问。