天天看點

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均無法修改和通路。

繼續閱讀